在後台運行 JSL 而不會彈出任何窗口你好,
新的 JSL 用戶在這裡。 我有一個嵌套的 for 循環,我使用雙變量平台為每對提取 Rsq 並創建一個連接數據表,該表最終將保存所有對的所有 Rsq 值。 我最終能夠獲得所需的輸出。 但是,當腳本運行時,我會彈出臨時表,我似乎無法使它們不可見或關閉(將競爭發佈到另一個表)。
有沒有辦法翻轉開關並關閉任何彈出的窗口? 如果沒有,有人建議如何在運行時不讓屏幕不斷彈出表格? 運行時腳本的輸出在附件中。
腳本如下
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 );

數據表回复:在後台運行 JSL 而不會彈出任何窗口謝謝@Mark_Bailey . 我喜歡使用多變量功能來簡化代碼的方式,而不是我試圖用複雜的嵌套 for 循環來做的事情。
很多東西要學! 
回复:在後台運行 JSL 而不彈出任何窗口謝謝@gzmorgan0
感謝您抽出寶貴時間回复此查詢 
回复:在後台運行 JSL 而不會彈出任何窗口刪除 wait(...) 可能就足夠了。 這使操作系統有時間顯示窗口。 通常不需要等待,或者有一個不需要它的替代方法,例如 <
編輯:
代替
mcdt << Invisible; // does not work this way
哪個@gzmorgan0顯示了正確的使用方法,您可能希望在不再需要表格時立即關閉它們。 將其更改為
close(mcdt,"nosave");
我仍然會忽略 wait(...) 。
回复:在後台運行 JSL 而不會彈出任何窗口你可以從中學到很多@gzmorgan0的解決方案。 它提供了一個通用框架。 不過,在這種特定情況下,我將交互式地使用 JMP 來獲得我想要的東西。 JMP 不需要顯式迭代幾乎為您計算所需的結果。 最後只需多走一步。
實際上,我編寫了一個腳本來執行此操作,但註釋應提供您想要的結果的路徑。
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 )
);
回复:在後台運行 JSL 而不會彈出任何窗口@AmanS ,
您應該為報告 wndows 查找“不可見”,為數據表查找不可見與私有。
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