您是否曾经拟合模型并保存预测公式只是为了查看一列缺失值? 或者打开一个数据表,其中包含公式的列都包含缺失值? 在许多情况下,不计算列公式的原因是因为公式被抑制。 在本博客中,我重点介绍 JMP 抑制公式计算的不同情况,以及如何访问选项来关闭抑制。
有多种方法可以抑制公式求值。 首先,在列公式本身内,您可以从反向红色箭头菜单中选择“抑制 Eval”,以打开和关闭各个列的公式抑制,如图 1 所示。

图 1:在公式编辑器中抑制 Eval
您还可以通过从数据表上的反向红色箭头菜单中选择“抑制公式评估”,将该行为应用于整个数据表(图 2)。

图 2:在数据表中抑制公式 Eval
除了这些用于切换公式计算的手动操作之外,JMP 本身内的多个数据表操作还提供了打开该选项的选项。 表>子集、表>排序、表>堆栈、表>拆分和表>连接默认选择“抑制公式计算”。 请参见图 3 的示例。

图 3:抑制子集中的公式计算选项
与公式抑制相关的是,在打开被视为“隔离”的数据表时,您可能会收到“JMP – 安全警告”窗口(图 4)。 从不受信任的来源(例如网站)下载的表将被隔离。 (看JMP 注意:打开网络驱动器上的文件时会出现 JMP® 安全窗口有关使用 JSL 代码安全启动文件的更多信息。)


图 4:警告和警报消息示例
如果您选择“检查”,列公式将被抑制,并且表脚本将不会运行。 在将表从隔离区中取出之前,您也将无法更改公式抑制。但是,您将能够查看公式和脚本。 数据表也可以保存,但仍处于隔离模式。随后尝试打开它将会出现上述提示。
检查桌子并确定其安全后,再次打开桌子。当出现上述窗口提示时,选择“打开”,这将允许脚本运行并允许您更改公式抑制。选择“打开”选项并保存后,您不应再收到该表的任何提示。
总之,如果您发现公式列缺少值或者未计算公式,请选中“抑制公式计算”选项。 将数据表保存到本地计算机并重新打开以访问此选项。 当打开包含脚本和公式的数据表时,JMP 会尝试通过控制脚本和公式来保存系统。