可以使用以下命令進一步限制現有數據過濾器:
df << (Filter Column(:age) << Where(::age == 14));
添加新的數據過濾器組(標准設置:filter1 OR filter2)
一個可以使用:
df << Add Filter(Columns(:age), Where(::age == 14));
我剛剛注意到,如果數據過濾器設置為“條件”,則無法添加新的過濾器組。
您仍然可以使用該代碼,但操作與第一種情況完全相同:新過濾器包含在第一個過濾器中。
這意味著不可能定義 2 個具有條件行為的不同過濾器組。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Graph Spacing( 5 ),
Variables,
Elements( Points( Legend( 2 ) ) ),
);
df = gb << Local Data Filter(
Add Filter( columns( :sex, :name ),Where(:sex="M"),Display( :name, N Items( 6 ))),
Add Filter( columns( :sex, :age, :name ),Where(:sex="F"), Display( :name, N Items( 6 )))
);
wait(5);
// 2 separate data filters --> OR
gb <<REMOVE local="" data="https://community.jmp.com/" filter=""></REMOVE>
你好@hogi - 我認為將項目添加到願望清單以衡量對更靈活地使用條件標誌的興趣是值得的。我不確定,但似乎當前的限制主要基於是否使用了任何“或”條件。Multiple Response 和 Text Filter 都有用於選擇行為更像“OR”過濾器的匹配項的選項,並且它們都不支持條件。
-擔
感謝您澄清“條件”選項如何用於數據過濾器:)
我仍然需要一些進一步的輸入來理解為什麼不能添加第二個數據過濾器團體如果啟用了“條件”,則到數據過濾器。
對於上面的第二個示例,我希望得到兩個數據過濾器組,一個用於男性(只有男性名字),一個用於女性(只有女性名字)-
實際上就像沒有激活“條件”時的情況一樣,只是具有男性/女性選擇限制名稱列表的功能。
我的意思是:條件應該只激活列表條目的條件顯示——它不應該改變數據過濾器結構背後的邏輯。
令人驚訝的是,激活“條件”的第二個示例的結果如此不同:
- 沒有第二個數據過濾器組
- :sex=F 和來自第二個數據過濾器組的 :name 的列表沒有出現(似乎它們被合併到第一個數據過濾器組中並且沒有出現兩次)
- 說明為什麼它看起來像這樣:
:age 從第二個數據過濾器添加到第一個數據過濾器組
我所期望的:

我得到了什麼:

“條件”選項允許您進行一系列過濾器選擇,其中後續步驟中可用的選項取決於先前的選擇。
例如:如果我有列、州、縣、市、街道。 如果打開條件,並且我從州中選擇北卡羅來納州,則只有 N 中的縣、市和街道。 Carolina 將作為級別出現在其他選擇框中。 接下來,如果我從縣級列表中選擇“Wake”,則只會出現 Wake County 的城市和街道。
或者,我可以在 Street 框中進行我的第一個選擇。 如果我選擇“西”,只有擁有“西”街道的城市、縣和州才會作為選項出現在其他框中。
條件選擇的順序基於所選列的順序,而不是對話框中列的順序。 (超級方便)。