Guardar gráficos como archivo ".jrp" en JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola chicos
Durante mi trabajo me encontré con el requisito de guardar gráficos como informe en JMP (archivo ".jrp"), un gráfico que se creó durante la ejecución de un script.
Después de un largo día de probar todas las combinaciones de códigos para guardar archivos en JSL, parece que no hay elogios para guardar en un tipo de "informe":
solo diario (".jrn"), .pdf y otros...
Además, mientras buscaba en los foros encontré que la última vez que alguien hizo una pregunta similar en el tema fue en 2011 y nadie tenía una respuesta.
entonces:
¿Puedo guardar el archivo ".jrp" en jsl?
Re: Guardar gráficos como archivo ".jrp" en JSLEn JMP 16 el < El mensaje guardará un informe como un archivo .JRP.
Names Default To Here( 1 );
//This message can be sent to any display box object but will be applied to the report window
Open( "$SAMPLE_DATA/Big Class.jmp" );
d = distribution( Column( :height ) );
d << Save Window Report(
"$DOCUMENTS/test.jrp",
embed data( 1 )
);
Re: Guardar gráficos como archivo ".jrp" en JSLHola Wendy,
¡Buen día! Soy nuevo en scripting, y sigo aprendiendo.
Leo tu código y trato de ejecutarlo. Me di cuenta de que si no incluyo " por (: pin_group) "... guardará un informe JMP
Esta es la línea que usé para probar.
dist= dt << Distribución( Distribución Continua( Columna( :Medida ),Gráfica Cuantil Normal( 0 ) ), por(:pin_group));
Lo que estoy tratando de hacer es:
1. Obtenga la distribución (por grupo ~ 23 grupos)
2. Realice la modificación en el histograma (ambos ejes y agregue la línea de referencia - para todo el histograma generado)
3. Guardar como JRP (Tu ejemplo - código), histograma con la tabla de datos. >> Aquí es donde estoy enfrentando un problema.
¿Existe un código específico para guardar como JRP con varios histogramas en el mismo informe?
Por favor edúcame. ¡Gracias y agradezco su ayuda!
Re: Guardar gráficos como archivo ".jrp" en JSLEste es un buen código. Gracias MS. Si tengo varios gráficos en una página con distribución unidireccional, tablas y generador de gráficos usando el cuadro de lista H y el cuadro de lista V, por alguna razón obj<< get script muestra un error. ¿Tengo que usar un directorio principal?Re: Guardar gráficos como archivo ".jrp" en JSLEsta pregunta surge con bastante frecuencia.Desafortunadamente, no hay un comando JSL para guardar un informe directamente como un archivo JRP.Esto se ha sugerido anteriormente como una característica a considerar en una versión futura de JMP.
Como se señaló anteriormente, un archivo JRP es simplemente un archivo de texto que contiene código JSL.Puede extraer la secuencia de comandos de la plataforma y luego usar Guardar archivo de texto para guardar la ruta del archivo y la secuencia de comandos en un archivo de texto con la extensión de archivo JRP.Aquí hay un ejemplo más simple que puede ayudar a aclarar:
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dist = dt << Distribution(
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :age ) )
);
distScript = dist << Get Script;
Save Text File(
"C:\temp\DistributionScript.jrp",
"//!
Open( \!"$SAMPLE_DATA\Big Class.jmp\!" );"
||
Char( Name Expr( distScript ) )
);
Close( dt, No Save );
Wait( 2 ); //For demonstration purposes
Open( "C:\temp\DistributionScript.jrp" );
¡Espero que ayude!
Re: Guardar gráficos como archivo ".jrp" en JSLCreo que simplemente tomó el código sin pensar en el principio detrás de él.
Al probar la función, de hecho guarda el informe, pero a menudo hay errores debido a variables indefinidas si su informe es algo complejo.Pero leamos el principio detrás de por qué funciona la función.
Lo que MS escribió:
Guardar como .jrp automáticamente:
Un .jrp parece ser solo un .jsl que se ejecuta automáticamente. El código contiene 1) una referencia a una tabla de datos guardada oa una tabla de datos incrustada y 2) el código para generar el informe. Por lo tanto, debería ser bastante sencillo crear una secuencia de comandos para guardar un archivo .jrp.
(subrayado para enfatizar)
Por lo tanto, si tiene una secuencia de comandos que genera un informe, simplemente guarde la secuencia de comandos como .jrp en lugar de .jsl.
Re: Guardar gráficos como archivo ".jrp" en JSLHola, gracias por tu respuesta y por tu código.
Realmente aprecio que se haya tomado el tiempo y haya creado esta función para mí,
El problema es que realmente no funciona en mis condiciones... Lo que escribiste está funcionando, pero no para mi necesidades.
Para algunos razón simplemente guarda la tabla de nuevo y no la informe
Re: Guardar gráficos como archivo ".jrp" en JSLGuardar como .jrp con algo de interactividad:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :Weight ), X( :Height ) );
Wait(1);
biv<< Bring Window To Front;
Main Menu( "Save As" );
Guardar como .jrp automáticamente:
Un .jrp parece ser solo un .jsl que se ejecuta automáticamente. El código contiene 1) una referencia a una tabla de datos guardada oa una tabla de datos incrustada y 2) el código para generar el informe. Por lo tanto, debería ser bastante sencillo crear una secuencia de comandos para guardar un archivo .jrp.
Aquí hay una manera que parece funcionar:
// Function to save .jrp
Save_jrp = Function( {dt, obj, dir, filename},
{embed_data = 0}, // Switch between embedded and referenced data table.
Save Text File(
dir || filename || ".jrp",
If( embed_data,
Char(
Eval Expr(
Expr( dt << get script );
Expr( obj << get script );
)
),
Char(
Eval Expr(
Open( Expr( dt << get path ) );
Expr( obj << get script );
)
)
)
)
);
// Define example input data: data table, report, path and file name
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :Weight ), X( :Height ) );
dt = biv << get data table;
biv << set window title( "MyReport" );
fname = biv << get window title;
path = Get Default Directory();
// Run function
Save_jrp( dt, biv, path, fname );
// Test if it worked
Close( dt, no save );
Wait( 1 );
Open( path || fname || ".jrp" );