JMPプロジェクトの外でスクリプトを実行すると、スクリプトによって生成されたレポートは別のウィンドウに表示されます。プロジェクト内でスクリプトを実行すると、レポートはプロジェクト内のタブに表示されます。
[ファイル]>[新規作成]>[スクリプト]を選択して、スクリプトエディタウィンドウを開いてください。そして、次のスクリプトを貼り付け、実行してください。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Run Script( "二変量の関係(二変量) " );
dt << Run Script( "一変量の分布" );
Wait( 2 );
Get Window( "Big Class - 一変量の分布" ) << Close Window();
このスクリプトは、データテーブルと各レポート、合わせて3つのJMPウィンドウを開きます。レポートを閉じてからデータテーブルを閉じてください。
[ファイル]>[新規作成]>[プロジェクト]を選択して新しいプロジェクトを作成してください。そして、プロジェクトウインドウで、[ファイル]>[新規作成]>[スクリプト]を選択して、新しいスクリプトエディタを表示させtください。この場合は、スクリプトエディタウィンドウは、プロジェクトのタブとして開きます。前の例で実行したものと同じJSLスクリプトを、スクリプトエディタに貼り付けて実行してください。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Run Script( "二変量の関係(二変量) " );
dt << Run Script( "一変量の分布" );
Wait( 2 );
Get Window( "Big Class - 一変量の分布" ) << Close Window();
今回は、データテーブルとレポートはすべてプロジェクトのタブとして開かれます。Get Window()も、「一変量の分布」のタブを正しく検出しています。通常、JMPウィンドウ、テーブル、レポートを開いたり、検索したり、変更したり、閉じたりするJSL関数はすべて、プロジェクト内でも機能します。
プロジェクトのコンテキストでJSLを実行するために、Run Scriptメッセージを使うことができます。スクリプトエディタウィンドウを開き、次のコードを貼り付けて実行してください。
project = New Project();
project << Run Script(
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Run Script( "二変量の関係(二変量) " );
dt << Run Script( "一変量の分布" );
Wait( 2 );
Get Window( "Big Class - 一変量の分布" ) << Close Window();
);
Run Scriptメッセージで指定したスクリプトは、プロジェクトの中のスクリプトエディタウィンドウからスクリプトを実行した場合と同様に動作します。
JMPでは、同時に複数のプロジェクトを開くことができます。また、その他にプロジェクトの外でファイルを開くこともできます。各プロジェクトが独自のグローバルスコープを持つため、異なるプロジェクトに同一の名前を持つ変数があっても、競合は生じません。まれに、開いているすべてのプロジェクトで共通の変数を使用したい場合もあるでしょう。そのときは、:::ルート演算子を使用してください。