等待(0) vs 等待(n) vs 运行 vs 完成我有非常大且不断增长的数据表,因此我遇到公式未完成的问题。我希望 JMP 能够构建一种机制来阻止脚本继续运行,直到每一行完成,但也许有一个我没有想到的不这样做的原因。我通常使用 wait(n) 命令(例如 wait(30);),但是随着数据集的增长,当表变得很大时,我必须不断更新数千行代码中无数的“wait”实例完成评估的代码行。后来我想我已经学会了 wait(0);将是动态的。在移动到下一行之前,它会等待完成评估所需的时间,因此我将所有内容更改为 wait(0),但现在许多行无法完成,因此脚本被破坏。我认为 wait(0); 是错误的吗?正如我所描述的,命令将是动态的?我尝试了“运行”和“完成”命令,但都不起作用。例如,我返回并放置了一个 wait(30);在一个地方,它又起作用了..那么我是否坚持这些静态时间增量,我将不可避免地不得不随着时间的推移继续改变..或者我在这里做错了什么?
自动化和脚本编写回复:等待(0)与等待(n)与运行与完成我认为如果您要加入/更新的表中有公式,那么它可能会有所帮助。我认为我从未遇到过与 JMP 数据表直接相关的问题,这需要我使用等待(大多数问题与某些变量未获取值或与新窗口中的可视化有关)。我不太了解 JMP 在后台所做的技术细节,所以也许您可以尝试发送电子邮件至support@jmp.com寻求帮助?还根据此旧响应标记@Jeff_Perkinson 如何强制我的脚本按顺序执行?
有几个问题:
您是否使用 Current Datatable() 来引用数据表?您使用的是哪个 JMP 版本?
链接:
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scripting-data-tables.shtml#ww2071832
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scripting-numbers-strings-arrays-and-lists.shtml#
回复:等待(0)与等待(n)与运行与完成我应该指定它不仅是公式评估,还包括打开和加入或更新另一个表、对表进行排序等操作。这些命令是否适用于非公式的内容?
回复:等待(0)与等待(n)与运行与完成您是否尝试过使用:
dt << Run Formulas();
或者
dt << Rerun Formulas;
据我了解,这些 JMP 应该等待公式评估完成后再继续。
其他可能的选项:还需要公式吗?您可以使用<< 设置每个值而不是公式进行管理吗?也可以使用dt << Begin Data Update ;和dt << 结束数据更新;可能有用。
回复:等待(0)与等待(n)与运行与完成一般来说,我在脚本中使用<<运行公式。
但是,我同意@RVhydrA所写的内容。
根据脚本索引中的内容, wait(0)应该执行相同的工作:

回复:等待(0)与等待(n)与运行与完成- 使用 wait(0) 使窗口出现并使按钮在循环期间工作。
- 使用 < < i>
- 使用 wait(1) 使脚本运行得更慢,也许是为了直观地看到变化的进程。
当 JMP 处于空闲状态时,JMP 的表格公式会在后台进行计算。Wait( n > 0 ) 使 JMP 处于空闲状态,以便公式可以进行计算。空闲时间公式计算相当慢;使用 dt< <>
许多数据表命令都有 <
Wait(n) 空闲时间允许操作系统更新显示并将击键和鼠标点击发送到您的程序。如果您编写一个没有 wait(0) 空闲时间的循环来打开和关闭平台,您将不会在显示屏上看到任何活动。如果您需要看到窗口弹出,则 wait(0) 是合适的。即使什么都没有发生,wait(0) 也会有一点时间损失。