在背景運行 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,不會彈出任何視窗謝謝@馬克貝利。 我喜歡使用多變量功能來簡化程式碼,而不是嘗試使用複雜的巢狀 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,不會彈出任何視窗@阿曼S ,
您應該查找報告視窗的「不可見」和資料表的不可見與私有。
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