如何取得本機資料篩選器中選定的項目(JMP 17)在分析過程中,有時需要根據我在圖表建構器本地過濾器中篩選的內容執行相應的自動化分析。但是,我不知道如何獲取此過濾器中選定的內容。請問有什麼好的方法嗎?謝謝。
自動化和腳本編寫回覆:如何取得本機資料篩選器中選定的項目通常,我會使用 << Get Where 子句或 << 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;
回覆:如何取得本機資料篩選器中選定的項目根據你對「相應的自動化分析」的定義,另一種方法可能是:
本機資料篩選器 -> 紅色三角形 -> 顯示子集
這將開啟資料的連結子集。您可以從那裡運行分析。或者,如果您從那裡選擇全部 (Ctrl+A),也會選取父資料表中的這些行。
順便一提,您也可以從同一個下拉式選單中選擇「儲存 WHERE 子句」。如果您以後想重複使用同一個篩選條件,這將非常有用。
回覆:如何取得本機資料篩選器中選定的項目非常感謝!這正是我想要的!
我有一個新問題:如何使用 JSL 檢測本地資料過濾器中選擇的變化?
(因為我創建了一個自訂介面,其中上半部是圖表建立器,下半部是資料表,我希望下面的表單在篩選條件變更時同步更新。所以,我需要知道如何判斷篩選條件何時發生了變化。)
謝謝。
回覆:如何取得本機資料篩選器中選定的項目請查看腳本索引中的資料篩選器,以便大致了解您有哪些選項。

在這種情況下,您很可能需要使用 << 建立篩選器來變更處理程序。
您也可以考慮使用(全域)資料篩選器而不是本機資料篩選器,它將直接在資料表中變更行狀態。