JSL comment lancer des plateformes JMP avec des sélections/options prédéfinies ?Existe-t-il de « bonnes » options pour exécuter des plates-formes JMP avec des options pré-remplies, telles que des sélections de colonnes. Vous trouverez ci-dessous deux options qui me sont venues à l’esprit.
La première option consiste à "construire" la fenêtre de la plate-forme, puis à sélectionner les colonnes du tableau et à appuyer sur le bouton pour ajouter ces colonnes.
La deuxième option consiste à exécuter d'abord la plateforme avec le script JSL puis à << Relancer l'analyse pour ouvrir la fenêtre "préremplie".
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);
Edit : légères mises à jour de l'exemple de script
Automatisation et scriptsMélange et nettoyage des donnéesles fenêtresRe : JSL comment lancer des plates-formes JMP avec des sélections/options prédéfinies ?@David_Burnham merci! Les rôles de présélection semblent fonctionner assez bien si seuls des changements de colonne sont nécessaires (heureusement, dans mon cas, aucun changement d'options n'est nécessaire):
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);
Re : JSL comment lancer des plates-formes JMP avec des sélections/options prédéfinies ?Je suppose que la fonctionnalité "prête à l'emploi" la plus proche est Cols> Présélectionner le rôle et l'équivalent scénarisé << Présélectionner le rôle .