JMPでは、ダッシュボードビルダーでダッシュボードを作成します。詳細については、『JMPの使用法』の「JMPの拡張」章を参照してください。この節では、ダッシュボードを作成するためのスクリプトの記述方法を紹介します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "マイダッシュボード",
H Splitter Box( // レポートをSplitter Boxに入れる
Size( 700, 400 ),
Tab Page Box( // レポートをTab Page Boxに入れる
Title( "身長(インチ)と体重(ポンド)の二変量の関係"),
dt << Bivariate( // 二変量レポート
Y(:Name("身長(インチ)")),
X( :Name("身長(インチ)") ),
Fit Line,
Report View( "Summary" ) // グラフだけ表示する
),
<<Moveable( 1 ) // レポートを移動可能にする
),
Tab Page Box(
Title( "性別による身長(インチ)の一元配置分析" ),
dt << Oneway( // 一元配置レポート
Y(:Name("身長(インチ)")),
X( :性別 ),
Means( 1 ),
Mean Diamonds( 1 ),
Report View( "要約" )
),
<<Moveable( 1 )
),
/* タブボックスを別の位置にドラッグすることができる
ディスプレイボックスを移動可能とするために必要 */
<<Dockable( 1 )
)
);
図11.26 2つのレポートを含むダッシュボード
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "マイダッシュボード",
Tab Box( // レポートをTab Boxに入れる
Tab Page Box( // レポートをTab Page Boxに入れる
Title( "身長(インチ)と体重(ポンド)の二変量の関係" ),
dt << Bivariate( // 二変量レポート
Y( :Name("体重(ポンド)") ),
X( :Name("身長(インチ)") ),
Fit Line,
Report View( "Summary" ) // グラフだけ表示する
),
<<Moveable( 1 ), // レポートを移動可能にする
<<Closeable( 1 ) // レポートを閉じられるようににする
),
Tab Page Box(
Title( "性別による身長(インチ)の一元配置分析" ),
dt << Oneway( // 一元配置レポート
Y(:Name("身長(インチ)")),
X( :性別 ),
Means( 1 ),
Mean Diamonds( 1 ),
Report View( "要約" )
),
<<Moveable( 1 ),
<<Closeable( 1 )
),
<<Dockable( 1 ),
/* タブボックスを別の位置にドラッグすることができる
ディスプレイボックスを移動可能とするために必要 */
<<Set Overflow Enabled( 0 ) // 両方のタブページが表示される
)
);
図11.27 タブ形式のダッシュボード
複数のタブで構成されたダッシュボードでは、タブ形式になったすべてのレポートが表示されるよう、ウィンドウの幅が調整されます。最初のレポートだけを表示し、その他のレポートはユーザーにリストから選んでもらうこともできます。その場合は、スクリプトの終わりの方にあるSet Overflow Enabled( 0 )をSet Overflow Enabled( 1 )に変更します。オーバーフロータブ形式のダッシュボードはこの結果です。
図11.28 オーバーフロータブ形式のダッシュボード
ドッキングレイアウトとは、Tab Page Box()オブジェクトとドッキングコンテナをまとめ、レポートの並べ替えを可能にしたレイアウトです。レポートウィンドウでレイアウトを変えるには、タブを強調表示されたドロップゾーンにドラッグします。2つのレポートを含むダッシュボードでは、2つのレポートがドッキングしています。ダッシュボードでのタブのドッキングは、「一元配置」レポートを強調表示されたドロップゾーンにドラッグし、レポートを縦に並べたところです。
図11.29 ダッシュボードでのタブのドッキング
ドッキングしたタブを作成するには、Tab Box()とSplitter Box()を組み合わせます。Tab BoxとSplitter Boxは、他のドッキングコンテナか、内容を定義するタブページを直接含んでいなければなりません。以下は前述の例の一部で、ボックスを並べているところです。
H Splitter Box( // レポートをSplitter Boxに入れる
Size( 700, 400 ),
Tab Page Box( // レポートをTab Page Boxに入れる
Tab Box << Set Dockable();
Splitter Box << Set Dockable();
Tab Page Box << Set Closeable();
Tab Page Box <<Set Closeメッセージを使用すると、閉じるボタンのクリック時にJSLスクリプトが実行されます。戻り値が1の場合、タブは閉じています。戻り値が0の場合は、その時点でタブを閉じることはできません。ユーザーの入力または選択の結果や、プログラムの状態により、タブを閉じることができない場合があります。
ドッキングレイアウトにタブページボックスが含まれる場合、一つのTab Box()コンテナにたくさんのページを入れることがあります。その場合、タイトルの幅が内容の幅より広くなったり、全体のバランスが取れないほどの幅になったりする可能性があります。Tab Box <<Set Overflow Enabled( 0|1 )メッセージは、タブのタイトルのせいでタブボックスが大きくなることを抑制します。タイトルが収まりきらないときは、タブボックスの右上角にポップアップボタンが表示され、「オーバーフローリスト」からタブが選択できるようになります。例については、オーバーフロータブ形式のダッシュボードを参照してください。