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