パラメータを指定してJSLスクリプトをリモートで実行するこんにちは、
現在、データ分析/レポート用に実行する JMP スクリプトがあります。 データ取得の最後にこのスクリプトをトリガーしたいと思います(ActiveX経由のLabVIEW)。 RunJSLFile 関数を見つけましたが、入力としてファイルパスしかありません。
スクリプトで使用するパラメータ (部品番号を識別する文字列) を JMP に渡す方法を実装するにはどうすればよいですか? RunCommand を使用して、スクリプトで使用されるグローバル変数を作成する必要がありますか? その場合、コマンドはどのようになりますか?
ありがとう。
Re: パラメータを指定して JSL スクリプトをリモートで実行するPS: labview/ActiveX 内から RunCommand にアクセスできる場合は、vbs ファイルを完全にスキップして、そのコードを既存のアプリケーションに入れることができます。
Re: パラメータを指定して JSL スクリプトをリモートで実行するあなたの質問にはいくつかの側面があります。1 つ目は JMP のリモート起動の問題で、2 つ目は法的な問題です。リモート コンピュータで JMP セッションを開始する方法はいくつかあります。そのほとんどは、OS の機能によって処理されます。これは、作成したアプリケーション プログラムとの関係です。
2 つ目は、ライセンスの問題です。 このリモート JMP セッションを実行している各ユーザーが、JMP を実行するための承認/ライセンスを受けるために、使用許諾契約の対象になっていることを確認する必要があります。
Re: パラメータを指定して JSL スクリプトをリモートで実行するはい、OLE オートメーションに関するドキュメントがいくつかあり、そのほとんどを読みました。.jmp ファイルの起動などの一般的なタスクには役立ちますが、他のプログラムとのインターフェイスの可能性が非常に高いという点では不十分なようです。より詳細なドキュメントはどこかにありますか?
たとえば、JMP がインストールされているコンピュータへのネットワーク アクセスを介して、(JMP がインストールされていない) コンピュータから JMP スクリプトをリモートで起動できますか?それとも、JMP インストールの一部であるファイル (jmp.tlb など) が必要ですか?
Re: パラメータを指定して JSL スクリプトをリモートで実行するhttp://www.jmp.com/support/help/OLE_Automation.shtmlドキュメントありRe: パラメータを指定して JSL スクリプトをリモートで実行するJSL スクリプトに「main」関数を含め、それを vbscript によって呼び出される JMP セッションに含めてから、引数を使用してスクリプト内の main 関数を呼び出すことができます。次に例を示します。
.vbs ファイル:
'Create the JMP application object
set jmp = Wscript.CreateObject("JMP.Application")
'read the existing jsl script
jmp.RunCommand("include( ""C:/ScriptWithParam.jsl"" );")
'set parameter values
param1 = "some value"
'Run a function inside the script
jmp.RunCommand("MakeTable( """ & param1 & """ );")
JSL ファイル:
MakeTable = function({param1 = "2"},
result = 1;
colvalues = {"Your value was",Char(param1)};
colvalues = Eval List(colvalues);
New Table( "test",
Add Rows( 2 ),
New Column( "Column 1",
Character,
"Nominal",
Set Values( colvalues )
)
);
show(param1);
result = 0;
Return(result);
);Re: パラメータを指定して JSL スクリプトをリモートで実行するこれは実行可能なアプローチのように見え、分析対象のデータを含むテーブルに最適です。 このアプリケーションは、JMP (SQL データベース) の外部に保存されているデータを処理するため、少し異なります。 スクリプト (本質的にはラッパー) を含むテーブルを作成することもできますが、このアプリケーションにはもっと良い方法があるはずです。
問題のスクリプトは、現在テーブルに含まれていません。 これは、さまざまな SQL クエリからデータをロードし、複数のテーブルとグラフを生成し、グラフをジャーナルに収集するためのカスタム作成関数を含むスタンドアロンの *.jsl ファイルです。
jmp.RunCommand("ID = "12345";") を実行すると、スクリプトで表示できるグローバル変数が作成されます..経由で実行します
jmp.RunJSLFile("") ::IDをさまざまな関数内で利用していますか?
Re: パラメータを指定して JSL スクリプトをリモートで実行する他の誰かがこれをよりエレガントに行うことができると確信していますが、vbscript を使用した 1 つの方法を次に示します。
これを Windows コンピューターの .vbs ファイルに貼り付けます。
'Create the JMP application object
set jmp = Wscript.CreateObject("JMP.Application")
'Open a data table that already contains your script
set jmpdoc = jmp.OpenDocument("C:/test.jmp")
'Make it visible for demo
jmpdoc.Visible = True
'Set a table variable to be your 'parameter'
jmp.RunCommand("current data table() << Set Table Variable( ""input"", 20); ")
'Run the script
jmp.RunCommand("eval(Current Data Table() << Get Table Property( ""add Column"" ));")
次に、C ドライブに test.jmp というデータ テーブルを作成し、「add Column」というスクリプトを保存して、次の内容を含めます。
dt = current data table();
val = dt << Get Table Variable("input");
New Column( "Column 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Values( {val, val, val} )
);
vbs ファイルをダブルクリックすると、3 つの行が 20 に設定された新しい列が表示されます。