回复:JSL 在提示时选择是这是脚本索引中的示例
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
:Height << Range Check( LE LE( 48, 65) );
check = :Height << Get Range Check;
Show( check );
范围外的值设置为缺失,没有对话框。
回复:JSL 在提示时选择是你好拜伦,
感谢您调查。
Big Class 源没有超出这些范围的任何数据,因此不会提示该框。 在此之前,我尝试遵循它,但无法正常工作。
该集合中只有 40 个数据点,如果您加强范围检查以排除点,则提示会出现在脚本索引的日志中。
我理解正确吗?
回复:JSL 在提示时选择是至少对我而言,消息已写入日志,但脚本会继续。我相信有一个更优雅的解决方案来清理您的日志,但这里的中间四行是一种“蛮力”方法:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
log entry = Log Capture(:Height << Range Check( LE LE( 48, 62) ));
if(
is missing(regex(log entry, "^(\!NOut of range.*Continue\!\?\!N$)|()")),
throw("Unexpected problem in range check:\!N" || char( log entry ) )
);
check = :Height << Get Range Check;
Show( check );
要模拟错误(我不知道什么可能导致 Range Check() 失败),您可以将日志条目行替换为:
log entry = Log Capture( 1/"a" ) ;
回复:JSL 在提示时选择是你好,
我猜我遇到的问题的一部分是我试图将它编写成一个 JSL 报价的脚本到一个可点击的按钮中,以从 LIMS 中提取数据。 如果我直接运行您的脚本,那么它将完全按照您的描述工作。 但是,如果我将它放入按钮中,它就会停止工作。
具体来说,它给出了“范围检查中出现意外问题:”的抛出响应,但冒号后没有信息告诉我它在范围检查中试图做什么被卡住了。 如果我像你说的那样替换日志条目行,那么它确实给了我一些东西来处理“无法将参数转换为数字[或矩阵]在访问或评估'Divide'时,1 / / *###*/”a “ /*###*/” 在按钮中时,它也会提供与我在原始帖子中描述的相同的对话框。
听起来这可能比尝试编写脚本更值得付出努力。
JSL 是我学习的第一门语言,所以它还有很多东西要学。 有些东西告诉我这是我还不了解的小而基本的东西。
回复:JSL 在提示时选择是我明白你的意思,但我不确定如何抑制该警告消息。对于这个用例,虽然我只是跳过范围检查功能,而是这样做:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For each row( dt,
if(:Height < 53, :Height = Empty());
if(:Height > 65, :Height = Empty());
);
回复:JSL 在提示时选择是谢谢诶!
我试过了,这正是我想要的。
感谢您的帮助,到目前为止,这有很多应用程序,我想知道我还能在哪里应用这个逻辑。
JSL 在提示时选择是你好,
我在 JMP 16.1
我有一组附加了范围检查的数据,其中的数据超出了我们将始终排除的范围。
遗憾的是,无法更正 LIMS 条目。
如果可能的话,如何编写脚本以始终在下面的结果提示中选择“是”以进行范围检查?

感谢您的帮助,每天您都会学到有关该程序的新知识。
高级统计建模自动化和脚本消费者和市场研究数据混合和清理共享和交流结果