¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo un script programado que se ejecuta diariamente y que guarda una tabla de datos.
Sin embargo, me gustaría incluir gráficos que puedo hacer manualmente y guardar en la tabla de datos.
¿Hay alguna forma de incluir esto en el guión?
Cualquier ayuda se agradece.
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?@jthi Muchas gracias, esto es exactamente lo que quiero. ¡¡¡Eress el mejor!!!
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Pocas preguntas:
- Columna seleccionada denominada "XXXX". ¿Es esta columna realmente seleccionada de la tabla o simplemente el nombre de la columna que estará preescrita?
- Poniendo XXXX dos veces. ¿Te refieres al nombre del script de la tabla y luego al nombre de la columna? Cuando tienes una lista, ¿cómo se debe nombrar el script de la tabla? ¿Qué tan larga puede ser la lista?
- STD3X con un número real en el script, no una variable. ¿No estoy seguro de qué significa esto? ¿No es ya un número el que se calcula en función de sus datos?
- No es tan importante como las preguntas anteriores: ¿cómo se construye/ejecuta el script?
Esto no manejará la lista de nombres de columnas, ya que no estoy seguro de qué se debe hacer con esa lista.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
col_of_interest = "height";
std3x = 3 * Col Std Dev(If(:sex == "F", Column(col_of_interest)));
table_script_expr = EvalExpr(
Oneway(
Y(Expr(Column(col_of_interest))), X(:sex), Equivalence Tests(Expr(std3x), 0.05, "Pooled Variance");
);
);
Eval(
Substitute(
Expr(dt << New Script(Eval Insert("^col_of_interest^-TOST"), _table_script_)),
Expr(_table_script_), Name Expr(table_script_expr);
)
);

Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Hola @txnelson , ¿puedes ayudarme a reescribir mi código a continuación? Quiero crear un JSL que pueda realizar el TOST para la columna seleccionada denominada "XXXX" y luego guardar el script en la tabla JMP. Hay algunos problemas en el código siguiente, primero necesito poner XXXX dos veces en el código siguiente, lo cual no es eficiente, y también en el futuro quiero reemplazar XXXX con una lista para poder hacer muchos análisis a la vez. En segundo lugar, quiero reemplazar STD3X con un número real en el script, no con una variable. Intenté modificarlo en función de @Mark_Bailey El código que aparece a continuación, pero no funciona. ¿Me podría ayudar? Muchas gracias.
dt = Current Data Table();
dt << New Script(
"XXXX-TOST",
ColName = "XXXX";
STD3X = 3 * Col Std Dev( If( :"Size" == "Small", :Column( ColName ) ) );
Oneway(
Y( :Column( ColName ) ),
X( :Scale ),
Unequal Variances( 1 ),
Std Dev Lines( 1 ),
Equivalence Tests( STD3X, 0.05, "Pooled Variance" )
);
);
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Estabas en el camino correcto:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Column( :Height, :Weight ), By( :sex ) );
dist expr = dist << Get Script;
Eval(
Substitute(
Expr(
dt << New Script( "New Script",
sss
);
),
Expr( sss ),
Name Expr( dist expr )
)
);
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?¿Cómo uso una instancia de un objeto (como Distribución o Gaph Builder) como argumento para la función Nuevo script?
Por ejemplo, intenté algo similar al ejemplo que se proporciona a continuación, pero el contenido del "Nuevo script" en la tabla de datos termina siendo "dist" y no el script a partir del cual se creó dist.
También intenté reemplazar "dist" en el siguiente ejemplo con "dist << Get Script", pero una vez más, el script real que se guarda en la tabla se completa con la cadena explícita "dist << Get Script", y no la fuente del guión.
Espero que la pregunta sea clara. Gracias.
dt <SPAN class="token operator">=</SPAN> <SPAN class="token function">Open</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"$SAMPLE_DATA/Big Class.jmp"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;<BR /></SPAN>dist = Distribution<SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Column</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Height<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>Weight <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> By<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>sex <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
dt <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> New Script</SPAN><SPAN class="token punctuation">(</SPAN>
<SPAN class="token string">"New Script"</SPAN><SPAN class="token punctuation">,</SPAN>
dist
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Además de lo que otros han dicho, tenga en cuenta que JMP Pro 12 tiene la capacidad de almacenar varias tablas, cuadros, gráficos, etc. en Application Builder, que tiene la capacidad de actualizar automáticamente cada una de cada tablas, gráficos, cuadros, etc. inicie asumiendo que estas tablas están programadas para actualizar tablas.
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Hola Jim,
Gracias por esta información, el script ahora funciona perfectamente. Creo que iba a lo que llamamos JMP a ciegas.
Soy nuevo en este sitio web pero me gustaría agregar que esta información simplemente no tiene precio.
Ahora puedo guardar la tabla de datos diariamente para otros y todo lo que tienen que hacer es hacer clic en el triángulo rojo que produce el mismo gráfico cada vez.
Gracias por ahora.
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Tus primeras 2 líneas son incorrectas.Ellos deberían ser:
dt=tabla de datos("xfer_split");
dt << Nuevo script("Ajustar Y por X",
Creo que estos cambios deberían crear el script en la tabla de datos.La ejecución del script aún requerirá que la persona haga clic en el triángulo rojo al lado del script incrustado y seleccione "Ejecutar script".
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Hola Jim,
Gracias por la info
Esto es lo que estoy ejecutando ahora, ver más abajo.
Problema, no veo el gráfico y/o no parece aparecer en la misma ubicación que si lo hiciera manualmente. ¿Podría ayudarme aquí?
Names Default To Here( 1 );
dt = ("XFER_SPLIT");
<< New Script("Fit Y by X",
Fit Group(
Bivariate( Y( :MEDIAN BISN_RES ), X( :PDATETIME ) ),
Oneway(
Y( :MEDIAN BISN_RES ),
X( :MACH ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
X Axis Proportional( 0 ),
Points Jittered( 1 )
),
<<{Arrange in Rows( 2 )}
));
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Sí, el mensaje/función New Script es lo que desea utilizar.
Si el gráfico que desea producir es siempre el mismo gráfico, entonces todo lo que tiene que hacer es tomar el script que actualmente está guardando manualmente en la tabla de datos y pegarlo en el mensaje "Nuevo script".
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Script(
"<GIVE the="" script="" whatever="" name="" you="" want="">",
<PASTE the="" script="" here="">
);</PASTE></GIVE>
Si no está seguro de cómo obtener el script que produce el gráfico, todo lo que necesita hacer es hacer clic derecho en el triángulo rojo ubicado a la izquierda del script que guardó en la tabla de datos y luego seleccionar "Editar".Puede copiar desde la ventana que muestra el script.
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Estás en lo correcto, txnelson El ejemplo de New Script logra precisamente eso. gzmorgan0 presenta una alternativa interesante a la inclusión de gráficos con tablas de datos.
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Perdón por no dejar muy claro lo que estoy preguntando, intentaré seguir esto paso a paso aquí.
1) Tengo un script programado que se ejecuta diariamente y que guarda una tabla de datos, no hay problemas aquí.
2) En la tabla de datos, manualmente o usando un script, creo un "gráfico",
Luego puedo hacerlo manualmente para ese "gráfico": "Guardar el script en la tabla de datos", que luego guarda el gráfico en la tabla de datos, luego, cuando la tabla de datos se guarda y se abre nuevamente, el script se puede abrir/ejecutar fácilmente.
La pregunta es: ¿se puede programar esto antes de guardar la tabla de datos? ¿Es la opción "Nuevo script" la forma de hacerlo?
Espero que esto ayude.

Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?A partir de su solicitud, es difícil determinar si desea (1) utilizar la función JMP 12 para agregar los gráficos como una columna de expresión; o (2) desea incrustar un archivo de diario de gráficos; o (3) agregar un script para generar los gráficos.Jim Nelson proporcionó un ejemplo para el punto 3.
El siguiente código de ejemplo utiliza los datos de muestra de JMP de las puntuaciones del SAT, crea un informe resumido de las puntuaciones verbales y de matemáticas del SAT por estado y, para cada estado, incorpora un gráfico de tendencia superpuesto en una columna de expresión para la fila correspondiente y convierte la columna de expresión en una etiqueta.
También incluye el uso de Graph Builder para proporcionar un ejemplo de uso de esta tabla.Pase el cursor sobre un estado y vea el gráfico de tendencias. Este es un ejemplo para el n.° 1. Si está buscando un ejemplo para el n.° 2 o algo más, proporcione más detalles.
dtraw = Open("$sample_data\SATByYear.jmp");
ovl = Overlay Plot(
X( :Year ),
Y( :SAT Verbal, :SAT Math ),
Y Scale( Left, Right ),
Connect Thru Missing( 1 ),
By( :State ),
SendToReport(
Dispatch( {}, "Overlay Plot Graph", FrameBox, {Frame Size( 288, 158 )} ),
Dispatch(
{},
"Overlay Plot Graph",
FrameBox( 2 ),
{Frame Size( 288, 158 )}
)
)
);
dtsumry = dtraw << Summary(
Group( :State ),
Mean( :SAT Verbal ),
Mean( :SAT Math ),
Freq( "None" ),
Weight( "None" )
);
dtsumry << new Column("ByYearPic", Expression);
for(i=1, i<=nitems(ovl), i++,
ttl = report(ovl[i])[OutlineBox(1)] << get title();
report(ovl[i])[OutlineBox(1)] << set title(word(2,ttl, "=") || " Scores by Year");
pic = ovl[i] <<GET picture=""></GET>
Re: ¿Cómo puedo crear un script JSL para guardar un gráfico en la tabla de datos?Sólo necesitas usar el mensaje Nuevo script.Aquí está el ejemplo simple de:
Ayuda==>Índice de secuencias de comandos
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Script(
"New Script",
Distribution( Column( :Height, :Weight ), By( :sex ) )
);