回复:在后台运行 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在后台运行 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 );

质量和工艺工程