最近有幾個人分別向我詢問關於 JMP Live 報表篩選的問題。具體來說,他們的問題類似於:「JMP Live 中能否使用一個本地資料篩選器來篩選同一個報表中的多個圖表或標籤頁?」答案是肯定的,JMP Live 完全可以做到這一點,所以我決定分享這個技巧,讓更多人學習。
簡而言之,要讓一個本地資料過濾器作用於多個輸出,需要用到一個稱為資料過濾器上下文框的功能,而這需要編寫一些腳本。 JMP 腳本索引(幫助 > 腳本索引 > 資料過濾器上下文框)中已經有一個範例演示了它的工作原理。
Jed_Campbell_0-1778876645258.png
運行此範例後,會彈出一個新窗口,左側是本機資料篩選器,右側是氣泡圖和圖表建構器。與本機資料篩選器互動會同時改變視窗中的其他兩項。
例如 jsl.gif
當此視窗上傳到 JMP Live 時,會發生相同的篩選行為:
JMP Live 範例 jsl.gif
要將多圖介面改為選項卡式介面,需要對腳本稍作修改。在下面的腳本中,我添加了一個選項卡框(),將其包圍在氣泡圖和圖表構建器周圍。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Shared Local Filter",
Data Filter Context Box(
H List Box(
dt << Data Filter( Local, Add Filter( columns( :sex ), Where( :sex == "F" ) ) ),
Tab Box( // <-- added tab box here
"Bubble", // <-- each tab needs a title
dt << Bubble Plot(
X( :weight ),
Y( :height ),
Fit To Window( "On" ),
Sizes( :age ),
Title Position( 0, 0 )
),
"Graph", // <-- each tab needs a title
dt << Graph Builder(
Size( 525, 456 ),
Show Control Panel( 0 ),
Fit To Window( "On" ),
Variables( X( :weight ), Y( :age ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) ),
)
)
)
)
);
執行此腳本會產生一個選項卡式介面,其中本機資料過濾器會同時影響兩個選項卡。
標籤框範例 jsl.gif
將此檔案上傳到 JMP Live 後,會顯示相同的選項卡式介面,以及相同的資料篩選行為。
JMP Live 標籤框範例 jsl.gif
這個技巧在儀錶板和其他工具中非常有用,因為如果使用了多個本地資料篩選器,使用者可能需要進行多次類似的選擇。我很想聽聽你發現這個技巧的實用案例。