データテーブルでキャプション ボックスの値を取得するにはどうすればよいでしょうか?添付の作成されたサンプル データ テーブルでは、保存されたスクリプトによって、以下に貼り付けられたグラフがプロットされます。
最初の列に TestStage 番号、2 番目の列にキャプション ボックスの値があるデータ テーブルでキャプション ボックスの値を取得したいと思います。これを JSL で実行するにはどうすればよいですか?
ローカル データ フィルターで週を選択した後、グラフ ビルダー ウィンドウのボタン クリックなどからデータ テーブルを動的に生成できれば、さらに便利になります。これは JSL で実行できますか?

自動化とスクリプトウィンドウズRe: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?Tabulate の使用を検討しましたか?
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
tab = dt << Tabulate(Show Control Panel(0), Add Table(Row Table(Grouping Columns(:TestStage))))
)
)
);
これで十分でない場合は、表をデータ テーブルに変換するボタンを追加できます (必要に応じて表を非表示にすることもできます)。
Re: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?@jthiありがとうございます。あなたの提案は私の実際のケースで機能することがわかりました。可能であれば、さらに 2 つのことを制御したいと思います。
表の「N」(青い矢印) を「ダイテスト済み」などに変更するにはどうすればよいでしょうか?
グラフと表の下のテキスト(下の赤で囲んだ部分)を削除するにはどうすればよいですか?
また、「N」の合計はどうやって求めるのでしょうか?

Re: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?何かに基づいて再作成されるようなので (Where ステートメントが大きすぎると、それが戻されるか、何か変なことが起こる)、それを tabulate から簡単に隠す方法がわかりません。フィルター変更ハンドラーを使用してこれを行うことができますが、できるだけそれを避けるようにします (Where テキストをいじり始めるよりも、そのままにしておきます)。
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
tab = dt << Tabulate(
Change Item Label(Statistics(N, "Die tested")),
Show Control Panel(0),
Add Table(Column Table(Statistics(N)), Row Table(Grouping Columns(:TestStage)))
)
)
)
);
wait(0);
(nw << XPath("//TextBox[contains(text(), 'Where(')]")) << Visibility("Collapse");
Re: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?@jthiありがとうございます。JMP の where ステートメントは気になりませんが、チャートを他の Windows アプリにコピーするときには、where ステートメントがない方がよかったと思います。
表の下に「N」(つまりテストされたダイの合計)の合計を表示することは可能ですか?
Re: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?グラフビルダーをラップして表にするために、追加のVリストボックスを追加することができます。

もっと見る...
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
V List Box(
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
)
)
)
);
Re: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?@jthiありがとうございます。ただし、あなたのスクリプトを使用しても、JMP 16 で V リスト ボックスは表示されません。
また、この場合、合計とはチャートに表示される値 14 (2+2+3+3+2+2) を意味します。
Re: データテーブルでキャプション ボックスの値を取得するにはどうすればいいですか?そのために別の表を使うこともできます

もっと見る...
Names Default To Here(1);
dt = Open("$DOWNLOADS/example_DataTable.jmp");
nw = New Window("",
Data Filter Context Box(
H List Box(
dt << Data Filter(Local,
Add Filter(
columns(:TestWk),
Modeling Type(:TestWk, Nominal),
Where(
:TestWk == {19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
),
Display(:TestWk, Find(Set Text("")))
)
),
V List Box(
gb = dt << Graph Builder(
Size(744, 332),
Show Control Panel(0),
Variables(X(:TestWk), Y(:Median), Group Y(:TestStage)),
Elements(
Points(X, Y, Legend(8)),
Caption Box(X, Y, Legend(10), Summary Statistic("N"))
),
SendToReport(Dispatch({}, "TestWk", ScaleBox, {Label Row(Show Major Grid(1))}))
),
tab2 = dt << Tabulate(Show Control Panel(0), Add Table(Column Table(Statistics(N))))
),
tab = dt << Tabulate(
Change Item Label(Statistics(N, "Die tested")),
Show Control Panel(0),
Add Table(Column Table(Statistics(N)), Row Table(Grouping Columns(:TestStage)))
)
)
)
);
wait(0);
(nw << XPath("//TextBox[contains(text(), 'Where(')]")) << Visibility("Collapse");