JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法以下に共有されている情報に基づいて、「すべてのファイルを開く」方法を使用して JMP ジャーナルへのリンクを作成できます。
https://community.jmp.com/t5/Statistical-Thinking-for/Saving-Your-Work-in-a-JMP-Journal/ta-p/271841
参照ビデオに示されている方法と同様に、ボタンをクリックしてジャーナル リンクを作成できる機能を GUI に実装したいと思います (GUI インターフェイス全体をジャーナルに転送するのではなく、リンクのみを作成します)。ジャーナル リンクを作成するための JSL では、データ テーブルの接続のみが可能です。新しいウィンドウ内のすべてのチャートへのリンクを作成するにはどうすればよいでしょうか。この件に関してご助力いただければ幸いです。
たとえば、次の新しいウィンドウを JMP ジャーナルに転送し、リンクの形式で表示するにはどうすればよいですか?
//
名前はデフォルトでここに設定されます( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2=新しいウィンドウ( "新しいウィンドウ",
二変量(y(:体重),x(:身長));
);
nw2 << ByGroup スクリプトをジャーナルに保存;
高度な統計モデリング自動化とスクリプト基本的なデータ分析とモデリングデータアクセスRe: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法あなたが何を望んでいるのかよく分かりませんが、これがそれかもしれません
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2 = New Window( "New window",
biv = Bivariate( y( :weight ), x( :height ) )
);
biv << Save ByGroup Script to Journal;
Current Journal() << append( ob = Outline Box( "All Files" ) );
ob << Add All Open Files;
PS JSL を入力するときは、プレビュー ウィンドウの上部にある JSL アイコンを使用してください。これにより、コードが読みやすく理解しやすくなります。
Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法
まさにこれが私が望んでいた結果です。
さらに、「開いているすべてのファイルを追加する」方法の他に、特定の「指定された名前」の開いているファイルのみを追加する方法はありますか? たとえば、「新しいウィンドウ」のリンクのみをジャーナル リストに追加します。
Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法質問に対する最初の回答で、スクリプト インデックス ([ヘルプ] プルダウンの下) を紹介すべきでした。スクリプト インデックスには、開いているすべてのファイルの追加メッセージなど、オブジェクトに渡すことができるメッセージが表示されます。最初の回答では、メッセージが変数 "ob" によって参照される OutlineBox() に送信されていることに気付くでしょう。スクリプト ガイドで OutlineBox を選択すると、そこに項目を追加するために指定できるすべてのメッセージが表示されます。

Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法問題を明確に説明できなかったと思います。私が知りたいのは、「開いているすべてのファイルを追加」すると、現在開いているすべての JMP ファイルがリンク オブジェクトとして自動的に送信されるかどうかです。ただし、私が望んでいるのは、すべてのファイルを追加したり、「ファイル参照の追加」を使用して保存されたファイルを追加したりするのではなく、ユーザーがこれらの開いているウィンドウから必要なファイルのみを選択できるようにすることです。次の画像に示すように、ユーザーが追加する「開いているファイル」を選択できるようにしたいと考えています。

Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法以前の私の回答は、明らかにあまり明確ではありませんでした。私が yo9 さんにスクリプト インデックスとアウトライン ボックスに渡すことができるさまざまなメッセージを示したのは、特定の要件を解決するために JSL を記述する方法を見つけるための適切な情報源を示すためです。
Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法ご返信ありがとうございます。おっしゃる意味は理解できました。記録のために保存したい項目をアウトライン ボックスに送信する必要があるということですね。ただし、現在わかっているのは、開いているすべてのファイルを一度に送信するために「ob << add all open files」を使用できるということだけです。開いている特定のファイルをアウトライン ボックスに送信する方法がわかりません。ヒントをいただけませんか?
また、追加の質問があります。「ob << add all open files」を使用してリンクがジャーナルに表示されると、ボタンの機能が消えてしまうようです。たとえば、以下に示す JSL では、最初はボタンがありましたが、ジャーナルのリンクをクリックするとボタンが消えてしまうようです。ボタンの機能が引き続き存在するようにするにはどうすればよいでしょうか。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2 = New Window( "New window",
outputGButton = Button Box( "Test", print("test");
),
biv = Bivariate( y( :weight ), x( :height ) )
);
nw2 << Save ByGroup Script to Journal;
Current Journal() << append( ob = Outline Box( "All Files" ) );
ob << Add All Open Files;Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法最新の回答の JSL では、ウィンドウ オブジェクトの表示ボックスと、その表示ボックスを参照するための変数「nw2」が作成されます。ウィンドウ オブジェクトのデフォルトのアクションは、新しい表示ウィンドウを作成することです。
nw2 = New Window( "New window",
ウィンドウ オブジェクト内には、「Test」という名前のボタン ボックス表示ボックスと、「Print("test")」というスクリプトがあります。ボタン ボックスを参照するために使用される「OutputGButton」という名前の変数があります。
outputGButton = Button Box( "Test", print("test");
)
ウィンドウ オブジェクト内の次のオブジェクトは、二変量プラットフォームを実行する JSL です。二変量プラットフォーム オブジェクトを参照するために使用される変数 "biv" があります。二変量プラットフォームのデフォルトのアクションは、二変量分析を実行し、出力を新しいウィンドウに表示するか、このインスタンスでは nw2 ウィンドウ オブジェクト内に出力を表示することです。2 つの要素が二変量プラットフォームに渡されます。列の重みは Y 要素に渡され、列の高さは X 要素に渡されます。
biv = Bivariate( y( :weight ), x( :height ) )
JSL のこの時点で、nw2 ウィンドウ オブジェクトの定義は閉じ ")" で完了します。
このレベルの詳細を説明するのは、スクリプト内の次の行が nw2 ウィンドウ オブジェクトまたは nw2 ウィンドウ オブジェクト内のオブジェクトの 1 つとどのように対話するかを説明するためです。
定義された各オブジェクトには、渡すことができるメッセージがあります。異なるタイプのオブジェクトには、渡すことができるメッセージのリストが異なります。nw2 ウィンドウ オブジェクトには、「ウィンドウ タイトルの設定」、「ウィンドウを最前面に表示」、「ウィンドウを閉じる」などのメッセージがあります。ウィンドウ オブジェクトに送信できるメッセージの完全なリストは、スクリプト インデックスに記載されています。

現在のスクリプトでは
nw2 << Save ByGroup Script to Journal;
nw2 ウィンドウ オブジェクトに渡される「ByGroup スクリプトをジャーナルに保存」メッセージがあります。ただし、このメッセージはウィンドウ オブジェクトで使用できるメッセージではありません。
「ByGroup スクリプトをジャーナルに保存」は、JMP プラットフォームで使用できるメッセージです。
このメッセージを渡すことができるスクリプト内の唯一のオブジェクトは、biv変数によって参照される二変量プラットフォームです。
biv << Save ByGroup Script to Journal;
ただし、このように使用すると、ジャーナルに渡されるスクリプトには、Bivariate を実行するための JSL のみが含まれ、ボタン ボックスと Bivariate プラットフォームを使用してウィンドウ オブジェクトを作成する完全な JSL を実行するためのスクリプトは含まれません。
したがって、必要なのは、nw2 ウィンドウ オブジェクトの定義に現在含まれているすべての JSL を含むボタン ボックスをジャーナルに配置する JSL を記述することです。
基本的に、Save ByGroup Script to Journal は、指定されたスクリプトを使用してボタン ボックスを作成します。ボタン ボックスで、指定された機能とは異なる機能が必要な場合は、変更を行うためのコードをユーザーが記述する必要があります。以下は、Save ByGroup... と同じことを行うスクリプトですが、Bivariate の出力の前に、指定されたボタン ボックスに追加します。
Names Default To Here( 1 );
//dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
file = pick file();
dt = open(file);
biv = dt << Bivariate( y( :weight ), x( :height ), invisible );
theScript = Char( biv << get script );
biv << close window;
Eval(
Parse(
"New Window( \!"My Journal\!",
<<JOURNAL></JOURNAL>
<P>また、メニュー(1)の「開いているすべてのファイルを追加」機能を使用して、ユーザーが追加するファイルを選択できるようにします。</P>Re: JSL を使用して「JMP ジャーナルに作業を保存する」を実装する方法ここでは多くの場合ほど明白ではありませんが、ジムが言及したように、スクリプト インデックスには解決策が記載されています。<< [開いているすべてのファイルを追加] には、アウトライン ボックスでリンクするファイルを選択できるオプションの引数があります。

ob << Add All Open Files( Menu( 1 ) );
