JSLを使って、JMPのレポートやデータテーブルをJMP Liveのフォルダに発行することができます。そのフォルダへのアクセス権をもつ個人やグループのみが、発行されたコンテンツを参照できます。
JMP Liveにレポートやデータを発行する際は、それらを保存するフォルダを指定する必要があります。JMP Liveサイトに自分専用のスペースがある場合は、まずはそこに発行するとよいでしょう。
• 自分専用のスペースのルートフォルダに発行するには、ショートカットとして波形符号(~)を入力します。
• 別の場所に発行するには、フォルダのIDまたはフルパスを指定します。たとえば、Testsというスペース内のResultsというフォルダに発行する場合、フルパスは/Tests/Resultsになります。
この例では、グラフビルダーのレポートを、自分専用のスペースのルートフォルダに発行します。
Names Default To Here( 1 );
// Big Classデータテーブルを開く。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// グラフビルダーのテーブルスクリプトを実行し、レポートへの参照をgbsmootherに格納する。
gbsmoother = dt << Run Script( "グラフビルダー 平滑線" );
// JMP Liveサーバーに接続する。
liveconnection = New JMP Live();
// gbsmootherのレポートを含むcontentオブジェクトを作成する。
content = New JMP Live Content( gbsmoother );
/* contentを自分専用のスペースに発行する。確立したJMP Live接続を使い、jmpliveresultにJMP Live結果オブジェクトを戻す。 */
jmpliveresult = liveconnection << Publish( content, Folder( "~" ) );
// すべてのデータテーブルを保存せずに閉じる。
Close All( Data Tables, NoSave );
JMP Liveに対して発行する際、新しいフォルダを作成できます。新しいフォルダを作成するには、フォルダを作成する場所(親フォルダ)、フォルダのタイトル、説明(オプション)を指定します。
この例では、自分専用のスペースにCreate Folder Exampleという名前の新規フォルダを作成し、このフォルダにコンテンツを発行します。
Names Default To Here( 1 );
// JMP Liveサーバーに接続する。
liveconnection = New JMP Live();
/* 自分専用のスペースにフォルダを作成し、タイトルと説明を指定する。確立したJMP Live接続を使い、jmpliveresultにJMP Live結果オブジェクトを戻す。 */
jmpliveresult = liveconnection << Create Folder( Parent Folder( "~" ), Title( "Create Folder Example" ), Description( "スクリプトの索引にあるフォルダ作成の例"), If Exists( "use" ) );
// 結果からJMP Liveフォルダオブジェクトを取得する。
folder = jmpliveresult << As Scriptable;
// Big Classデータテーブルを使って、発行するレポートを作成する。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gbsmoother = dt << Run Script( "グラフビルダー 平滑線" );
// gbsmootherのレポートを含むcontentオブジェクトを作成する。
content = New JMP Live Content( gbsmoother, Title( "自分用の平滑線グラフ" ) );
// 上記のCreate Folder操作から取得したJMP Liveフォルダオブジェクトを使って、新しいフォルダにレポートを発行する。
jmpliveresult = liveconnection << Publish( content, Folder( folder ) );
// すべてのデータテーブルを保存せずに閉じる。
Close All( Data Tables, NoSave );
JMP Liveの発行先フォルダを指定する方法は次の3通りあります。
1. フォルダのフルパスを指定する。以下に例を示します。
– "~/Practice" - 自分専用のスペース内のPracticeというフォルダを指定する。
– "/Fab/Litho/Results" - Fabスペース内のLithoフォルダにあるResultsというサブフォルダを指定する。
2. フォルダのIDを指定する。JMP LiveでフォルダIDを確認するには、そのフォルダをクリックしてください。すると、フォルダIDがURL内に表示されます。[詳細]からこのIDをコピーすることもできます。
3. JMP Live接続またはJMP Liveフォルダに対してCreate Folderメッセージを送信するか、または、Get Folderメッセージを送信して、戻されたJMP Liveフォルダオブジェクトを指定する。
次の例では、新しいフォルダを作成し、そのIDを指定して、レポートをそのフォルダに発行します。ここでは、JMP LiveにFabというスペースがあると仮定しています。
Names Default To Here( 1 );
// Big Classデータテーブルを開く。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// グラフビルダーのテーブルスクリプトを実行し、レポートへの参照をgbsmootherに格納する。
gbsmoother = dt << Run Script( "グラフビルダー 平滑線" );
// JMP Liveサーバーに接続する。
liveconnection = New JMP Live();
/* Fabスペースにフォルダを作成し、タイトルを指定する。確立したJMP Live接続を使い、jmpliveresultにJMP Live結果オブジェクトを戻す。 */
jmpliveresult = liveconnection << Create Folder( Parent Folder ( "/Fab" ), Title( "Publish Example" ), If Exists( "use" ) );
// 結果からJMP Liveフォルダオブジェクトを取得し、さらにそのIDを取得する。
folder = jmpliveresult << As Scriptable;
folderID = folder << Get ID;
// gbsmootherのレポートを含むcontentオブジェクトを作成する。
content = New JMP Live Content( gbsmoother, Title( "自分用の平滑線グラフ" ) );
/* 新しく作成したフォルダにcontentを発行する。確立したJMP Live接続を使い、jmpliveresultにJMP Live結果オブジェクトを戻す。 */
jmpliveresult = liveconnection << Publish( content, Folder( folderID ) );
// すべてのデータテーブルを保存せずに閉じる。
Close All( Data Tables, NoSave );
次の例では、新しいフォルダを作成し、そのパスを指定して、データテーブルをそのフォルダに発行します。ここでは、JMP LiveにFabというスペースがあると仮定しています。
Names Default To Here( 1 );
// JMP Liveサーバーに接続する。
liveconnection = New JMP Live();
// Fabスペースにフォルダを作成し、タイトルを指定する。
liveconnection << Create Folder( Parent Folder( "/Fab" ), Title( "Publish Data Example" ), If Exists( "use" ) );
// Big Classデータテーブルを含むcontentオブジェクトを作成する。
content = New JMP Live Content( Data( "$SAMPLE_DATA/Big Class.jmp" ) );
/* 新しく作成したフォルダにcontentを発行する。確立したJMP Live接続を使い、jmpliveresultにJMP Live結果オブジェクトを戻す。 */
jmpliveresult = liveconnection << Publish( content, Folder( "/Fab/Publish Data Example" ) );
// すべてのデータテーブルを保存せずに閉じる。
Close All( Data Tables, NoSave );
次の例では、自分専用のスペースに新しいフォルダを作成し、Create Folderによって取得したJMP Liveフォルダオブジェクトを使用して、そのフォルダにグラフビルダーの2つのレポートを発行します。
Names Default To Here( 1 );
// Big Classデータテーブルを開く。
bc = Open( "$SAMPLE_DATA/Big Class.jmp" );
/* グラフビルダーの2つのテーブルスクリプトを実行し、レポートへの参照をgbsmoother、gblineに格納する。 */
gbsmoother = bc << Run Script( "グラフビルダー 平滑線" );
gbline = bc << Run Script( "グラフビルダー 折れ線・棒" );
// JMP Liveサーバーに接続する。
liveconnection = New JMP Live();
/* 自分専用のスペースにフォルダを作成し、タイトルを指定する。確立したJMP Live接続を使い、jmpliveresultにJMP Live結果オブジェクトを戻す。 */
jmpliveresult = liveconnection << Create Folder( Parent Folder ( "~" ), Title( "Multiple Reports Example" ), If Exists( "use" ) );
// 結果からJMP Liveフォルダオブジェクトを取得する。
folder = jmpliveresult << As Scriptable;
// gbsmootherのレポートを含むcontentオブジェクトを作成する。
content1 = New JMP Live Content( gbsmoother, Title( "自分用の平滑線グラフ" ) );
// gblineのレポートを含むcontentオブジェクトを作成する。
content2 = New JMP Live Content( gbline, Title( "自分用の折れ線グラフ" ) );
// 新しく作成したフォルダに、content1とcontent2(リストで指定)を発行する。
jmpliveresult = liveconnection << Publish( {content1, content2}, Folder( folder ) );
// JMPのすべてのデータテーブルを保存せずに閉じる。
Close All( Data Tables, NoSave );