¿Cómo se pueden ejecutar comandos JSL después de que se cumplan las condiciones?Estimados usuarios de la comunidad JMP,
Soy nuevo en JMP y me he enfrentado a un problema. Con suerte, podría obtener ayuda de ustedes.
Tengo una tabla de datos. Me gustaría ejecutar un generador de gráficos para columnas solo con algunos valores específicos.
Por ejemplo, me gustaría seleccionar celdas que sean AB766 y las columnas pertenecientes a RSDF "nombre_conjunto_monitor" y "nombre_conjunto_medidas"; y otras columnas y filas correspondientes a "AB766" y "RSDF"

Luego, me gustaría ejecutar el "Generador de gráficos" para la tabla que contiene la información que necesito.
Si "nombre_conjunto_monitor" y "nombre_conjunto_medidas" no contienen "AB766" y "RSDF", saltaré para ejecutar el "generador de gráficos"
¿Podrías aconsejarme?
Atentamente,
Tabla de datosScriptingRe: ¿Cómo se pueden ejecutar los comandos JSL después de que se cumplan las condiciones?Para generar el JSL a continuación, simplemente ejecuté los pasos de forma interactiva y luego tomé el código del registro y lo pegué en una ventana de script.
names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
// Select matching cells
Data Table( "big class" ) << Select Where( :age == 12 & :sex == "F" );
// Subset data table
// → Data Table( "Subset of big class" )
Data Table( "big class" ) << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
// Report snapshot: Subset of big class - Graph Builder
Data Table( "Subset of big class" ) << Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
// Invert current selection
Data Table( "big class" ) << Invert Row Selection;
// Subset data table
// → Data Table( "Subset of big class 2" )
Data Table( "big class" ) << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
// Report snapshot: Subset of big class 2 - Graph Builder
Data Table( "Subset of big class 2" ) <<
Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 6 ) ), Smoother( X, Y, Legend( 7 ) ) )
);
Re: ¿Cómo se pueden ejecutar los comandos JSL después de que se cumplan las condiciones?Hola,
Si es nuevo en JMP, asegúrese de revisar el filtro de datos local y el selector de columnas. El filtro de datos local probablemente lo ayudará aquí ... Incluí un conmutador de columnas en mi ejemplo solo para que sepas lo que puede hacer.
Simplemente haga clic en los elementos del menú para restringir su gráfico a los datos que desea considerar. No se requiere codificación y es fácil de usar ... cualquiera puede usarlos.
Para obtener el filtro de datos locales, en el menú del triángulo rojo del generador de gráficos, seleccione Agregar filtro de datos locales.
Para obtener el Conmutador de columnas, seleccione Rehacer> Conmutador de columnas en el menú principal. También tendrá que seleccionar la columna que desea intercambiar y las columnas entre las que desea rotar. Asegúrese de incluir la columna que desea intercambiar en este conjunto. Todas las columnas deben ser del mismo tipo de datos.
Ejecute el siguiente script para echar un vistazo a estos en acción.
Salud,
Brady

Names Default To Here(1);
dt = open ("$Sample_Data\Car Physical Data.jmp");
Graph Builder(
Size( 526, 448 ),
Show Control Panel( 0 ),
Variables( X( :Country ), Y( :Gas Tank Size ) ),
Elements( Box Plot( X, Y, Legend( 8 ) ), Points( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Show Histograms and Bars( 0 ),
Add Filter(
columns( :Type ),
Where( :Type == "Compact" ),
Display( :Type, N Items( 5 ) )
)
),
Column Switcher(
:Gas Tank Size,
{:Weight, :Turning Circle, :Displacement, :Horsepower, :Gas Tank Size}
)
);
Re: ¿Cómo se pueden ejecutar los comandos JSL después de que se cumplan las condiciones?Estimado txnelson,
Funciona. Aprecio mucho.
Intento seguir tu guía y aplicarla por mí mismo.
dt = Open( "raw_data.csv", "invisible" );
dt << Select Where(
:monitor_set_name == "CSP_FAST_TC" & :spc_chart_subset == "STDDEV" & :measurement_set_name == "U1_X"
);
df = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ), "invisible" );
df << Graph Builder(
Size( 1056, 675 ),
Show Control Panel( 0 ),
Automatic Recalc( 0 ),
Variables(
X( :spc_txn_date ),
Y( :chart_value ),
Y( :lo_control_lmt, Position( 1 ) ),
Y( :up_control_lmt, Position( 1 ) ),
Y( :centerline, Position( 1 ) ),
Group Y( :monitor_set_name ),
Group Y( :measurement_set_name ),
Group Y( :spc_chart_subset ),
Wrap( :spc_entity )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Legend( 25 ), Connection( "Curve" ), Smoothness( 0.5 ) )
),
SendToReport(
Dispatch( {}, "spc_txn_date", ScaleBox, {Label Row( Automatic Font Size( 0 ) )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
25,
Properties( 2, {Line Color( 19 )} ),
Properties( 3, {Line Color( 0 ), Line Style( "Dotted" )} )
)}
)
)
);
df << save picture( "C:\Users\lamquocb\image.jpg" );
Sin embargo, me encuentro con otro problema que no pude guardar el generador de gráficos de imágenes para df.
Intento acceder a la ubicación donde quiero almacenar la imagen, pero no pude encontrar una.
¿Tienes algún consejo?
Atentamente,
Re: ¿Cómo se pueden ejecutar los comandos JSL después de que se cumplan las condiciones?Su variable "df" apunta a la tabla de datos subconjuntos.Cuando crea un informe a partir de una tabla de datos, no pasa a formar parte de la tabla de datos.Es una entidad sobre sí misma.Por lo tanto, la forma más sencilla de acceder al informe creado es especificar una variable para señalarlo.He hecho esto en la siguiente modificación de su script.
gb = df << Graph Builder(
La variable "gb" apunta al objeto Graph Builder.Más adelante en el código, el mensaje Guardar imagen se aplica al informe generado por la plataforma Graph Builder.
report(gb) << save picture( "C:\Users\lamquocb\image.jpg" );
Aquí está el script modificado
names default to here( 1 );
dt = Open( "raw_data.csv", "invisible" );
dt << Select Where(
:monitor_set_name == "CSP_FAST_TC" & :spc_chart_subset == "STDDEV" & :measurement_set_name == "U1_X"
);
df = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ), "invisible" );
gb = df << Graph Builder(
Size( 1056, 675 ),
Show Control Panel( 0 ),
Automatic Recalc( 0 ),
Variables(
X( :spc_txn_date ),
Y( :chart_value ),
Y( :lo_control_lmt, Position( 1 ) ),
Y( :up_control_lmt, Position( 1 ) ),
Y( :centerline, Position( 1 ) ),
Group Y( :monitor_set_name ),
Group Y( :measurement_set_name ),
Group Y( :spc_chart_subset ),
Wrap( :spc_entity )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Legend( 25 ), Connection( "Curve" ), Smoothness( 0.5 ) )
),
SendToReport(
Dispatch( {}, "spc_txn_date", ScaleBox, {Label Row( Automatic Font Size( 0 ) )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
25,
Properties( 2, {Line Color( 19 )} ),
Properties( 3, {Line Color( 0 ), Line Style( "Dotted" )} )
)}
)
)
);
report(gb) << save picture( "C:\Users\lamquocb\image.jpg" );
Le recomiendo encarecidamente que se tome el tiempo de leer la Guía de secuencias de comandos, disponible en la Biblioteca de documentación de JMP, que se encuentra en el menú desplegable Ayuda.