在后台运行 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