大家好,
我有一个 JSL 问题,因为我现在正在处理一些代码。
基本上,我正在做的是使用特殊用途空间填充 DOE 平台来生成 DOE,我需要将其提供给另一个 JSL 例程。 问题不在于让 JSL 运行,而在于每次都会出现一个自动 JMP 警报弹出窗口。
下面是生成 DOE 的基本代码:
tuntble = DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ), Load Factors, Set Random Seed( Today() ), FFF Optimality Criterion( MaxPro ),
Space Filling Design Type( Fast Flexible Filling, ndoe_runs ), Simulate Responses( 0 )}
);我将其设置为因子表中的“负载因子”,并为 DOE 生成 ndoe_runs 运行次数。 我的因素表由大约 13 个因素组成,其中一些可能保持不变,即在 DOE 期间不发生变化。 DOE 平台始终会弹出有关常量因素的警报弹出窗口,并将它们从 DOE 中删除,这很好,我稍后可以将它们重新包含在表中。 这就是我在 JSL 代码的自动化部分中所做的事情。
我遇到的问题是,当我以“逐行”方式运行代码时,我没有收到弹出窗口,我只在脚本窗口日志中收到以下通知:“每个非常量因子必须有至少两个级别。 停止负载因素。” 再说一次,这很好,我希望只出现这个。 但是,当我作为一个整体运行较大的代码时,每当它到达需要生成 DOE 的阶段时,它总是会停止并抛出弹出警报窗口。 一旦我单击“确定”,代码就会继续并按预期运行。
我更愿意仅对我的代码(而不是整个 JMP)禁用此警报,或者如果这不是一个选项,请以某种方式让 JSL 代码为我单击“确定”,这样我就不必每次都手动执行此操作。 我知道如何让 JSL 在运行常规 JSL 时单击“确定”,例如在报告窗口上,但我不知道如何访问“警报”窗口的“确定”按钮来单击它。
任何帮助深表感谢。
谢谢!,
DS
你好@ih和@jthi ,
感谢您的快速反馈和想法。 有时,当您忙于编码时,您会错过明显的解决方案。 如果 Try() 有效的话会很高兴,但它没有阻止弹出窗口。 所以,我和@ih的解决方案是在生成空间填充设计时将固定柱留出,然后将它们放回原处。 快速而简单,只需几行额外的代码,它就能按预期工作。
再次感谢!,
DS
您可以在将因子加载到 DOE 之前检查数据并删除任何不变的列,以完全消除对弹出窗口的需要。
我对 JMP DOE 平台不太熟悉,无法轻松生成您遇到的警报。 如果是抛出错误,也许你可以尝试将代码包装到 Try 结构中。 不确定您想要的代码是否仍会执行,但可能值得尝试:
Try(
code-you-want-to-execute
,
show(exception_msg)
);