dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Script( "二変量の例", Bivariate( Y( :Name("体重(ポンド)")), X( :Name("身長(インチ)") ) ) );
dt << Get Table Variable( "二変量の例" );
dt << Run Script( "二変量の例" )
dt << Set Property( "二変量の例", Bivariate( Y( :Name("体重(ポンド)") ), X( :Name("身長(インチ)") ), Fit Line ) ); // 「二変量の例」スクリプトにFit Lineを含める
同僚に電子メールで送ったり、スクリプトの一部として使ったりするために、データテーブルをテキスト形式で表したものが必要な場合があります。Get Scriptを使うと、データテーブルの情報を再構成するスクリプトを取得できます。次の例は、「Big Class.jmp」を開き、データ、テーブル変数、および列プロパティをログに出力します。その出力の一部をここに示します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Get Script;
Delete Scriptは1つ以上のスクリプトを削除します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Delete Script( "一変量の分布" )
ダウンロードしたデータテーブルにスクリプトが含まれる場合、テーブルを開くか確認するかを選択するウィンドウが表示されます。この機能は、予期しない動作をする可能性のあるスクリプトが、お使いのコンピューター上で実行されることを防ぐのに役立ちます。Open()コマンドで、この動作を制御できます。
Open( "$DOWNLOADS/file.jmp", Quarantine Action( "Allow Scripts" ) );
Open( "$DOWNLOADS/file.jmp", Quarantine Action( "Block Scripts" ) );
Open( "$DOWNLOADS/file.jmp", Quarantine Action( "Show Dialog" ) )
Try()式を有効にして、エラーを見つけるには次のように指定します。
Try( Open( "$DOWNLOADS/file.jmp", Quarantine Action( "Do Not Open" ) ),
Show( exception_msg ) );
データテーブルを開いたとき、On Openあるいは OnOpenという名前の付いたテーブルスクリプトを開くよう促すことができます。その際の選択は記憶され、現在のJMPセッションでそのデータテーブルを開く度に同じ選択が適用されます。
On Openスクリプトを作成するには、次のアクションのいずれかを実行します。
•
|
[スクリプトの保存]>[データテーブルへ]オプションを使用してスクリプトを作成した後、プロパティ名をダブルクリックし、名前をOn Openに変更します。
|
•
|
New Scriptメッセージを使用してスクリプトを保存します。
|
次の例では、「Big Class.jmp」にOnOpenスクリプトを作成します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Script(
"OnOpen", // スクリプトを作成する
sortedDt = Data Table( "Big Class" ) <<Sort( By( :名前 ), Output Table Name( "並べ替えたBig Class" ) ) // データを並べ替え、新しいデータテーブルを出力する
);
JMPの[OnOpenスクリプトの評価]という環境設定では、いつスクリプトを実行するかを定義します。
デフォルトでは、スクリプトを実行するか確認するメッセージが表示されます。この環境設定で、On Openスクリプトを常に実行するか、まったく実行しないように指定することもできます。
デフォルトでは、スクリプトを実行するか確認するメッセージが表示されます。この環境設定で、On Openスクリプトを常に実行するか、まったく実行しないように指定することもできます。
Preference( Evaluate OnOpen Scripts( "always" ) );
Preference( Evaluate OnOpen Scripts( "never" ) );
Preference( Evaluate OnOpen Scripts( "prompt" ) ); // デフォルト設定
他のプログラムを実行するOn Openスクリプトは、環境設定に関わらず実行されません。予防措置として、他者から受け取ったデータテーブルを開く際はスクリプトが自動実行されないよう設定することをお勧めします。
•
|
ダウンロードされたデータテーブルにあるOnOpenスクリプトが自動的に実行されるようにするには、Open()式の中にQuarantine Action( "Allow Scripts" )を指定しなければなりません。詳細については、第 “スクリプトを含むデータテーブルをダウンロードした場合のオプション”を参照してください。
|
•
|
関連のあるテーブルスクリプトをグループ化して、データテーブルパネルに表示されるスクリプトのリストの領域を節約することができます。Group Scriptsを使い、グループ名と、そのグループに含めるスクリプト名を指定します。
dt = Open( "$SAMPLE_DATA/San Francisco Crime.jmp" );
dt << Group Scripts(
"地図",
{"バブルプロット ストリートマップ", "グラフビルダー ストリートマップ: 交通事故",
"グラフビルダー ストリートマップ(拡大)"}
);
dt << Group Scripts(
"表の作成",
{"表の作成: 種類、内容", "表の作成: 種類の要約と割合",
"表の作成: 解決、種類", "表の作成: 解決、内容"}
);
dt << Move Script Group( "表の作成", after( "地図" ) );
dt << Move Script Group( "表の作成", to last);
テーブルスクリプトのグループのリストを取得するには、Get Script Groupを使用します。これにより、グループ内のスクリプトを実行するなどの操作ができるようになります。
tb = dt << Get Script Group( "表の作成" );
dt << Run Script( tb[2] ); // 「表の作成」グループの2番目のスクリプトを実行
Get Script Groups Namesはグループ名のリストを戻します。
gn = dt << Get Script Groups Names; // returns {"地図", "表の作成"}
dt << Move Script Group(gn[1], to last);
// 「地図」グループをテーブルスクリプトの末尾に移動
Select Script Groupは指定された名前のテーブルスクリプトのグループ、リストで指定されたグループ、またはすべてのスクリプトグループを選択します。
dt << Select Script Group; // すべてのスクリプトグループを選択
dt << Select Script Group( "表の作成" ); // 「表の作成」グループを選択
dt << Select Script Group( {"表の作成", "地図"} // 両方のグループを選択
Ungroup Scriptsは指定されたテーブルスクリプトやグループをグループの外に出します。スクリプトグループの名前や、スクリプトのリストにこのメッセージを送ることができます。
dt << Ungroup Scripts( "表の作成" );
dt << Ungroup Scripts(
{"表の作成: 種類、内容", "表の作成: 種類の要約と割合",
"表の作成: 解決、種類", "表の作成: 解決、内容"}
);
Rename Script Groupで現在のグループ名と新しいグループを指定することで、グループ名を変更できます。
dt << Rename Script Group( "地図", "ストリートマップ" );
a = dt << Get Script Group( "ストリートマップ");
dt << Delete Scripts( a );