ウィンドウがポップアップせずにバックグラウンドでJSLを実行するこんにちは、
ここに新しいJSLユーザー。 二変量プラットフォームを使用して各ペアのRsqを抽出し、最終的にすべてのペアのすべてのRsq値を保持する連結データテーブルを作成するネストされたforループがあります。 最終的には希望の出力を得ることができます。 ただし、スクリプトの実行中に一時テーブルがポップアップ表示され、それらを非表示にしたり閉じたりすることができないようです(別のテーブルへの連結後)。
スイッチを切り替えてウィンドウをオフにしてポップアップする方法はありますか? そうでない場合、実行中に画面がテーブルをポップし続けないようにする方法を誰かが提案していますか? 実行中のスクリプトの出力は添付ファイルにあります。
スクリプトは以下のとおりです
For( i = 1, i <= 5, i++,
For (j= 1, j <= 5, j++,
biv = dt << Bivariate(
Y( ParmColumns[i] ),
X( ParmColumns[j] ),
Fit Line( {Line Color( {212, 73, 88} )} ),
Invisible
);
rbiv = biv << Report;
tb = rbiv[Table Box( 1 )];
mcdt = tb << Make Combined Data Table << Show Window( 1 );
if (counter == 0 ,
combineddt = mcdt
);
if (counter > 0 ,
combineddt << Concatenate(
mcdt,
"Append to first table"
);
);
counter ++;
rbiv << Close Window;
mcdt << Invisible;
combineddt << Invisible;
wait(.1);
);
);
// Select and delete all rows that are empty
combineddt << Select Where(:"Column 1" != "RSquare") << Delete Rows;
combineddt << Select Where(:X == :Y) << Delete Rows;
//save stacked data table
combineddt << Save (Output_File );
// Close data table and do not save JMP tables. CSV files are already saved.
Close All( Data Tables, NoSave );

データ表Re:ウィンドウがポップアップせずにバックグラウンドでJSLを実行するありがとう@Mark_Bailey 。 複雑なネストされたforループでやろうとしていたことではなく、多変量機能を使用してコードがいかに合理化されているかが気に入っています。
学ぶことがたくさん! 
Re:ウィンドウがポップアップせずにバックグラウンドでJSLを実行するありがとう@ gzmorgan0
このクエリに応答するために時間を割いていただきありがとうございます:)
Re:ウィンドウがポップアップせずにバックグラウンドでJSLを実行する待機(...)を削除するだけで十分な場合があります。 これにより、OSにウィンドウを表示する時間が与えられます。 通常、待機は必要ありません。または、<< runformulasのように、待機を必要としない代替手段があります。 ただし、表示/更新するためのウィンドウが必要な場合もあります。
編集:
それ以外の
mcdt << Invisible; // does not work this way
どれの@ gzmorgan0正しい使用方法を示したので、テーブルが不要になったらすぐに閉じたいと思うでしょう。 に変更します
close(mcdt,"nosave");
私はまだ待機を省略します(...)。
Re:ウィンドウがポップアップせずにバックグラウンドでJSLを実行するあなたはから多くを学ぶことができます@ gzmorgan0のソリューション。 これは、一般的なフレームワークを提供します。 ただし、この特定のケースでは、JMPをインタラクティブに使用して必要なものを取得します。 JMPとして明示的な反復は必要ありませんほとんどあなたのために望ましい結果を計算します。 最後にもう1ステップ。
実際、私はそれを行うためのスクリプトを作成しましたが、コメントはあなたが望む結果へのパスを提供するはずです。
Names Default to Here( 1 );
// open example with several continuous numeric variables
dt = Open( "$SAMPLE_DATA/Fitness.jmp" ) ;
// obtain names of such variables
cols = dt << Get Column Names( Continuous );
// convert the names to references
cols = dt << Get Column Reference( cols );
// use the references to launch platform with list of correlations
mult = dt << Multivariate( Y( Eval( cols ) ), Pairwise Correlations );
// obtain new data table with correlations
dt = Report( mult )["Pairwise Correlations"][TableBox(1)] << Make Into Data Table;
// convert correlations into linear coefficient of determination
dt << New Column( "R Square", Numeric, Continuous,
Values( (dt:Correlation << Get As Matrix)^2 )
);
Re:ウィンドウがポップアップせずにバックグラウンドでJSLを実行する@AmanS 、
レポートウィンドウについては「invisible」を検索し、データテーブルについてはinvisiblevsprivateを検索する必要があります。
Names Default To Here( 1 );
flag=random Integer(0,1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
if(flag==1,
obj = dt << Bivariate( Y( :Weight ), X( :Height ), Invisible ),
//else
obj = dt << Bivariate( Y( :Weight ), X( :Height ) )
); //end if