Re: JSL, ¿cómo lanzar plataformas JMP con selecciones/opciones predefinidas?Supongo que la funcionalidad 'lista para usar' más cercana es Cols> Preseleccionar Rol y el equivalente con guión << Preseleccionar Rol .
JSL ¿Cómo lanzar plataformas JMP con selecciones/opciones predefinidas?¿Existe alguna opción "buena" para ejecutar plataformas JMP con opciones precargadas, como selecciones de columnas? A continuación se muestran dos opciones que me vinieron a la mente.
La primera opción es "construir" la ventana de la plataforma y luego seleccionar columnas de la tabla y presionar el botón para agregar esas columnas.
La segunda opción es ejecutar primero la plataforma con el script JSL y luego << Relanzar Análisis para abrir la ventana "precargada".
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Probe.jmp");
col_list = dt << get Column names(continuous, string);
wait(0);
//Option1
start = HP Time();
dt << Select Columns(col_list);
nw_eo = New window("Multivariate and Correlations", << Show Menu(0), << Show Toolbars(0),
Platform(dt, Multivariate())
, << Set Window Icon("ScatterplotMatrix")
);
xpath_path = "//ButtonBox[@title='Y, Columns']";
btn_ref = (nw_eo << XPath(xpath_path))[1];
btn_ref << Click(1);
dt << Clear Column Selection;
Show(HP Time()-start);
// Option2
start = HP Time();
ps = dt << Multivariate(
Y(Eval(col_list)),
Scatterplot Matrix(0),
invisible,
<< Relaunch Analysis,
<< Close Window
);
Show(HP Time()-start);
Editar: ligeras actualizaciones del script de ejemplo
Automatización y secuencias de comandosCombinación y limpieza de datosventanasRe: JSL, ¿cómo lanzar plataformas JMP con selecciones/opciones predefinidas?@David_Burnham ¡Gracias! Los roles preseleccionados parecen funcionar bastante bien si solo se necesitan cambios de columna (afortunadamente, en mi caso no se necesitan cambios en las opciones):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Probe.jmp");
col_list = dt << get Column names(continuous, string);
wait(0);
//Option3
start = HP Time();
old_roles = Associative Array();
For Each({col_name}, col_list,
old_roles[col_name] = Column(dt, col_name) << Get Role;
Column(dt, col_name) << Preselect Role("Y");
);
dt << Multivariate();
For Each({{col_name, role}}, old_roles,
If(role == "None",
role = "No Role";
);
Column(dt, col_name) << Preselect Role(role);
);
Show(HP Time()-start);