Re: JSL 事前に定義された選択/オプションを使用して JMP プラットフォームを起動する方法は?私の推測では、最も近い「すぐに使える」機能は列 > ロールの事前選択および同等のスクリプト<< ロールの事前選択.
JSL 事前定義された選択/オプションを使用して JMP プラットフォームを起動するにはどうすればよいですか?列の選択など、事前に入力されたオプションを使用して JMP プラットフォームを実行するための「適切な」オプションはありますか。以下に私の頭に浮かんだ 2 つの選択肢を示します。
最初のオプションは、プラットフォーム ウィンドウを「構築」し、テーブルから列を選択し、ボタンを押してそれらの列を追加することです。
2 番目のオプションは、最初に JSL スクリプトを使用してプラットフォームを実行し、次に << 分析を再起動して「事前入力された」ウィンドウを開きます。
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);
編集: サンプルスクリプトをわずかに更新しました
自動化とスクリプト作成データのブレンディングとクリーンアップウィンドウズRe: JSL 事前定義された選択/オプションを使用して JMP プラットフォームを起動する方法は?@David_Burnhamありがとう! 列の変更のみが必要な場合、事前選択ロールは非常にうまく機能しているようです (幸い、私の場合、オプションの変更は必要ありません)。
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);