最近、数名の方からそれぞれ別々に、JMP Liveでのレポートのフィルタリングについて質問を受けました。具体的には、「JMP Liveのローカルデータフィルタで、1つのレポート内の複数のグラフやタブをフィルタリングできますか?」といった質問です。答えはイエスです。JMP Liveではそれが可能なので、このテクニックを共有して、より多くの方に知っていただきたいと思いました。
要するに、1つのローカルデータフィルタを複数の出力に適用するには、データフィルタコンテキストボックスと呼ばれるものが必要で、これにはスクリプト記述が伴います。JMPスクリプト索引(ヘルプ > スクリプト索引 > データフィルタコンテキストボックス)には、その動作方法を示す例が既に掲載されています。
Jed_Campbell_0-1778876645258.png
この例を実行すると、左側にローカルデータフィルタ、右側にバブルプロットとグラフビルダーが表示された新しいウィンドウが開きます。ローカルデータフィルタを操作すると、ウィンドウ内の他の2つの項目も変更されます。
例 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
このテクニックは、ダッシュボードやその他のツールで、複数のローカルデータフィルターを使用した場合にユーザーが何度も同様の選択をしなければならないような場合に非常に役立ちます。皆さんがこのテクニックを役立てた事例をぜひ教えてください。