ローカルデータフィルターで選択されたアイテムを取得する方法(JMP 17) 分析プロセス中に、グラフビルダーのローカルフィルターでフィルタリングした内容に基づいて、対応する自動分析を実行する必要がある場合があります。しかし、このフィルターで選択した内容を取得する方法がわかりません。何か良い方法があれば教えてください。よろしくお願いします。
自動化とスクリプトRe: ローカルデータフィルターで選択されたアイテムを取得する方法通常、選択は非常に複雑になる可能性があるため、<< Get Where Clause または << Get Filtered Rows を使用します。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(525, 454),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Smoother(X, Y, Legend(10)))
);
ldf = gb << Local Data Filter(
Add Filter(columns(:age), Where(:age == 12), Display(:age, N Items(6)))
);
Show(ldf << Get Where Clause);
Show(ldf << Get Filtered Rows);
表示ボックスにアクセスして使用することもできます。たとえば、私の例ではリストボックス(リスト表示)ですが、通常はこのオプションは避けます。
nw = (gb << top parent);
nw[OutlineBox("Local Data Filter"), ListBoxBox(1)] << get selected;
Re: ローカルデータフィルターで選択されたアイテムを取得する方法「対応する自動分析」の意味に応じて、別のアプローチは次のようになります。
ローカルデータフィルター -> 赤い三角形 -> サブセットを表示
データのリンクされたサブセットが開きます。そこから分析を実行できます。または、そこから「すべて選択」(Ctrl+A)すると、親データテーブルの行も選択されます。
ちなみに、同じドロップダウンから「Where句を保存」することもできます。これは、後で同じフィルターを再利用したい場合に便利です。
Re: ローカルデータフィルターで選択されたアイテムを取得する方法ありがとうございます。まさにこれこそが私が求めていたものです!
新しい質問があります: JSL を使用して、ローカル データ フィルター内の選択の変更を検出するにはどうすればよいでしょうか?
(上部がグラフ ビルダーで下部がデータ テーブルであるカスタム インターフェイスを作成し、フィルター選択が変更されたときに下のフォームが同期的に更新されるようにしたいためです。そのため、フィルター選択がいつ変更されたかを判断する方法を知る必要があります。)
ありがとう。
Re: ローカルデータフィルターで選択されたアイテムを取得する方法スクリプトインデックスのデータフィルターを見て、どのようなオプションがあるのか大まかに把握しましょう。

この場合は、おそらく << Make Filter Change Handler を選択することになります。
ローカル データ フィルターの代わりに (グローバル) データ フィルターの使用も検討してください。これにより、行の状態がデータ テーブルに直接変更されます。