如何在 Graph Builder 中更改本地數據過濾條件順序美好的一天:我會看看我是否可以清楚地說明我的問題。我有一個通過 JMP v 14.1 中的 Graph Builder 創建的圖。我添加了一個本地數據過濾器(帶有 9 個變量),因此我可以可視化數據的某些子集。我也在本地數據過濾器中選擇了“條件”選項。到目前為止,一切都很好。但是,我正在努力了解如何更改條件排序。我看到我可以重新排序過濾器變量列表(拖放),但這對執行條件的排序幾乎沒有影響。每個本地數據過濾器變量的括號中都有一個數字(例如 [3] )以顯示條件順序。我認為沒有辦法以任何有目的的方式改變這些。例如,無論它們在列表中如何排序,必須先選擇前面有“[4]”的變量,然後選擇前面有“[7]”的變量,否則條件不起作用正如它應該。 為了便於使用,我想將變量調節順序與列出的變量順序相匹配。我怎樣才能做到這一點? 據我所知,腳本中沒有任何內容可以更改以影響調節順序。 而且,我嘗試從頭開始並按照我想要的條件順序將變量添加到本地數據過濾器,結果發現條件順序在此過程中發生了變化……我不知道這是怎麼發生的!
謝謝大家
標記
回复:如何在 Graph Builder 中更改本地數據過濾條件順序我不確定我理解你想要得到什麼? 你能進一步解釋一下嗎?
回复:如何在 Graph Builder 中更改本地數據過濾條件順序此對話對於了解“條件”數據過濾器設置的行為非常有用:)
是否有可能在不將特定數據過濾器限製到條目的情況下定義“條件”序列?
像這樣的東西
Graph Builder(
Size( 535, 638 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 31 ) ), Smoother( X, Y, Legend( 32 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :sex, :age, :name ),
Where( :sex == <EM><STRONG>ANYTHING</STRONG></EM>),
Where( :age == 14 ),
Where( :name == "ALFRED" ),
Display( :age, Size( 202, 114 ), List Display ),
Display( :name, Size( 202, 285 ), List Display )
)
)
);
回复:如何在 Graph Builder 中更改本地數據過濾條件順序謝謝杰夫,現在我知道它是如何工作的了! 現在一切都說得通了。 感謝您和 Martin 的快速和博學的回應;你的洞察力非常有幫助。
標記
回复:如何在 Graph Builder 中更改本地數據過濾條件順序條件順序由列的順序決定用過的在過濾器中,而不是它們的順序顯示. 如果您以交互方式工作,那麼這就是您在每列中進行選擇的順序。 如果您正在使用 JSL,那麼這是它們在腳本中出現的順序。
以交互方式,將所有列添加到過濾器並打開“條件”選項後,您在其中進行選擇的第一列將標有 [1],其他列將僅顯示該選擇中的值。 您在其中進行選擇的下一列將標有 [2],依此類推。 您可以通過單擊數據過濾器頂部的清除按鈕來重置順序,然後再次開始選擇。

如果您使用 JSL 執行此操作,那麼這是它們出現在 Where() 子句中的順序。
dt = Open( "$SAMPLE_DATA\Car Physical Data.jmp" );
dt << Graph Builder(
Size( 527, 575 ),
Show Control Panel( 0 ),
Variables( X( :Horsepower ), Y( :Gas Tank Size ) ),
Elements( Points( X, Y, Legend( 86 ) ), Smoother( X, Y, Legend( 87 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :Model, :Country, :Type ),
Where( :Type == "Small" ),
Where( :Country == "Japan" ),
Display( :Model, Size( 170, 240 ), List Display ),
Display( :Type, Size( 170, 80 ), List Display )
)
)
);
dt << Graph Builder(
Size( 527, 575 ),
Show Control Panel( 0 ),
Variables( X( :Horsepower ), Y( :Gas Tank Size ) ),
Elements( Points( X, Y, Legend( 92 ) ), Smoother( X, Y, Legend( 93 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :Model, :Country, :Type ),
Where( :Country == "Japan" ),
Where( :Model == "Dodge Colt" ),
Where( :Type == "Small" ),
Display( :Model, Size( 170, 240 ), List Display ),
Display( :Type, Size( 170, 80 ), List Display )
)
)
);
回复:如何在 Graph Builder 中更改本地數據過濾條件順序嗨馬丁我*認為*如果您執行以下操作,您可以復制它。
1. 關閉 Conditioning,按照您展示的方式創建本地數據過濾器(按性別/年齡/姓名排序)
2. 然後選擇有條件的。
3. 然後從“名稱”中選擇 ALFRED。
4.然後從“sex”中選擇,M(唯一選擇)
5.然後從“年齡”中選擇,14(唯一選擇)
然後你會看到(我認為)[2] 性別,[3] 年齡,[1] 姓名。 它們現在按您選擇它們的順序編號,而不是按列表順序。然後將性別移動(拖放)到底部。
您將看到 [3] 年齡、[1] 姓名、[2] 性別。 所以,列表順序改變了......但數字沒有。 您最初的選擇似乎很重要。 如果發生這種情況,我認為解決它的唯一方法是切換 Conditional 選項(我認為)。
標記
回复:如何在 Graph Builder 中更改本地數據過濾條件順序嗨,馬克,
很高興您找到了解決方法。 但是,對我來說,順序會自動更改,所以我不能在最後加上 [1],它會自動將 [1] 更改為 [3]。 您是否想諮詢我們的技術支持,看看這是否與“正常”行為不同,或者我只是愚蠢地重現;)
最好的
馬丁
回复:如何在 Graph Builder 中更改本地數據過濾條件順序嗨馬丁:我*認為*我找到了解決方案。 而且,如果是這樣,它也很容易修復(事實證明)。如果列表順序和條件順序不同步,則只需將它們(拖放)放在您希望條件順序成為的所需列表順序中,然後關閉條件選項,然後再次打開。 似乎操作重置了條件順序以匹配列表順序。
標記
回复:如何在 Graph Builder 中更改本地數據過濾條件順序嗨馬丁:非常感謝,你的回复很有幫助。 準確地說,按照您的步驟,我能夠重現您對 Big Class Families 所做的事情。 關鍵似乎不僅與您描述它的解決方案相關聯,而且如果對給定變量進行特定選擇,或者是否將給定變量單獨留下以便它只是響應,它似乎也會有所不同在通過拖放重新排序之前被動地恢復到以前的條件。例如,使用您的 Big Class Families 數據集,我設法輕鬆地做到了這一點(見圖)。而這種事情正是我試圖避免和解決的!而對於 9-11 個變量,這似乎幾乎是不可能的......
回复:如何在 Graph Builder 中更改本地數據過濾條件順序嗨,馬克,
只是為了確保我理解正確。 使用帶有許多變量的本地數據過濾器不允許您使用條件過濾更改順序? 您嘗試更改順序但過濾框中的數字保持不變?
嗯,這很有趣。 我正在使用 JMP 14.1。同樣,使用 Big Class Families 樣本數據來展示我的所作所為。
1.添加本地數據過濾器-設置條件過濾-然後更改設置過濾器的順序。
Initial local data filter初始本地數據過濾器
Conditional filter with selection to see hierarchy帶有選擇以查看層次結構的條件過濾器
Changed ordering per drag and drop每次拖放更改順序
你可以看到條件過濾器的變化,我相信你也期待它。
第二個選項是按照您希望變量出現的順序創建一個本地數據過濾器,然後設置條件過濾。
好吧,從您所說的來看,這對您不起作用,對嗎? 還是我錯過了什麼?
另一種選擇是將腳本保存到腳本窗口中。 你會得到這樣的東西:
Graph Builder(
Size( 535, 638 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 31 ) ), Smoother( X, Y, Legend( 32 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :sex, :age, :name ),
Where( :sex == "M" ),
Where( :age == 14 ),
Where( :name == "ALFRED" ),
Display( :age, Size( 202, 114 ), List Display ),
Display( :name, Size( 202, 285 ), List Display )
)
)
);
更改 Where(.. 語句的順序也會更改條件過濾順序,或者至少應該:)
請讓我們知道這是否對您和我一樣適用。
謝謝,
馬丁