ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればよいですか?こんにちは !
このスクリプトのおかげで、jmp でベンチマークのウィンドウを生成し、それをデータ テーブルに保存したいと思います (「スクリプトをデータ テーブルに保存」を実行した場合のように)。問題は、スクリプトの最後が機能しないことです。
// Ouvrir la table de données
dt = Open(fichier1);
// Initialiser une liste pour stocker les noms des colonnes avec la note "INGOT CHARACTERISTICS"
cols_with_note = {};
// Parcourir chaque colonne de la table par index
For(i = 1, i <= N Cols(dt), i++,
col = Column(dt, i);
// Vérifier si la colonne a une note "INGOT CHARACTERISTICS"
If(col << Get Property("Notes") == "INGOT CHARACTERISTICS",
// Ajouter le nom de la colonne à la liste
Insert Into(cols_with_note, col << Get Name)
);
);
Print(
"Colonnes avec notes trouvées pour la famille " || "INGOT CHARACTERISTICS" || " : " ||
Char(cols_with_note) || "\n"
);
// Créer une nouvelle fenêtre pour regrouper tous les graphiques
report_window = New Window("BenchMarks_Ingot_Characteristics",
V List Box(
Fit Group(
For(i = 1, i <= N Items(cols_with_note), i++,
col_name = cols_with_note[i];
// Ajouter le graphique Oneway au Fit Group
Oneway(
Y(Column(dt, col_name)),
X(Column(dt, selection)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
)
)
)
);
// Enregistrer la fenêtre dans le fichier de données
report_window << Save Script to Data Table(
dt, // Spécifie la table de données
"BenchMarks_Ingot_Characteristics", // Nom de la fenêtre pour enregistrer
);
編集 2024-08-12 jthi、JSLフォーマットを追加
自動化とスクリプトデータアクセスデータの探索と視覚化Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?JSLコードをJMPコミュニティに投稿する場合は、JSLフォーマットを使用してください。
。
ご質問ですが、どのバージョンの JMP を使用していますか?
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?ここに、あなたに適した2つのオプションがあります。オプション2は通常、使いやすいですが、作成されるスクリプトはテーブル内で変更するのがより困難です。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
sel = "SITE";
cols = Left(dt << Get Column Names("Continuous", "String"), 10);
// Option1
ow_expr = EvalExpr(dt << Oneway(
Y(Eval(Expr(cols))),
X(Eval(Expr(sel))),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
));
Eval(EvalExpr(
dt << New Script("Plots", Expr(Name Expr(ow_expr)));
));
dt << Run Script("Plots"); // if you want to leave it open
// Option2
ows = dt << Oneway(
Y(Eval(cols)),
X(Eval(sel)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
ows[1] << Save Script for All Objects To Data Table("Plot2");Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?すべてのベンチマークを 1 つのフィット グループにまとめるループを作成し、このフィット グループをすべて 1 つのウィンドウに保存したいのですが、送信されたスクリプトは機能しませんでした。:(
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?私が提供したスクリプトの何が問題なのでしょうか? 使用している JMP のバージョンを教えていただけなかったので、すべての JMP バージョンで機能するわけではない可能性があります (私がアクセスできるのは上位の JMP17 と JMP18 のみです)。
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?私のfichier1にベンチマークが登録されませんでした。理由はわかりませんRe: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?私はJMP16を使用していますRe: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?さらに、あなたが送ってくれたスクリプトにはループが含まれていませんRe: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?ループが必要ない場合(JMP16 では必要かもしれません)、なぜループを使用するのでしょうか? 以前のスクリプトでは、次のような結果が得られました(JMP18 の場合)

Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?ジャーモ
JMP 16 でスクリプトを実行したところ、両方のオプションが期待どおりに機能し、スクリプトが元のデータ テーブルに保存されました。
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?リストcols_with_noteの各値をYとしてベンチマークを生成する必要があるときに、ループが不要である理由がわかりません。Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?一部の JMP プラットフォームでは、複数の列を入力として使用できます。列のリストを取得したら、それをプラットフォームの入力として直接使用できる場合があります。そのため、列を収集するには 1 つのループが必要です (または他の方法。データがないためわかりません)。2 番目のループは、希望する最終結果によっては不要になる場合があります。
私の例にはループがありません。これは、私の例のスクリプトが列をループして例のリストを作成する必要がないためです。特に列の収集部分は既に解決されているようなので、いくつかの列を選択して何ができるかを示すことができます。
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?わかりましたが、ボタンをクリックして起動しても機能しないのはなぜかわかりません。保存はできたのですが、緑のボタンからベンチマークを起動できません。
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?スクリプトを右クリックして編集を選択します

その後、テーブル内のスクリプトを表示できますが、おそらく何か問題があるでしょう。データ テーブルに正しく保存するのが少し難しい場合があります。
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?わかりました、本当に助かりました。もう 1 つ質問があります。いくつかの研究のためにこれを作成しているのですが、リストの cols (または cols_with_note) が空になることがあります。しかし、送っていただいたスクリプトは cols が空の場合 (実際には正常です) は機能しません。このスクリプトは、ワークフロー フォーム ジャンプに cols を追加するために作成しています。「cols が空の場合はスクリプトを停止して次のスクリプトに渡す」というような方法はありますか?
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?あるいはリストが空でない場合はベンチマークを生成し、そうでない場合は何もしない
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?if文とN Items()を使ってリストにアイテムがあるかどうかをチェックできます。そして空の場合は停止し、それ以外の場合は何か他の処理を行います。
mylist = {};
If(N Items(mylist) == 0,
stop();
);
show(1);Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?ヘルプ プルダウン メニューの下にあるスクリプト ガイドを必ずお読みいただくことを強くお勧めします。
Re: ベンチマーク ウィンドウをデータ テーブルに保存するにはどうすればいいですか?リストに列名が 1 つだけ含まれているか、列が空の場合、スクリプトで「send expects scriptable objects」と表示されることに気付きました。これを修正するにはどうすればよいでしょうか?