公式是存储在列中的表达式,用来执行运算以便在该列中插入值。公式可以执行数学运算,如加法和乘法;也可以通过引用同一数据表中的其他区域来比较列值或连接值。公式可由任意 JMP 脚本语言 (JSL) 命令构成。一旦在列中插入公式,该列即被锁定:只有更改或删除公式才能编辑该列的值。
可采用三个基本步骤生成公式:
1. 通过右击要应用公式的列名并选择公式,打开“公式编辑器”。
或
双击要应用公式的列名,从列属性菜单中选择公式,然后点击编辑公式。
在“公式编辑器”中,选定了空公式(以蓝色突出显示)。您可以开始键入或选择列或函数。
‒ 键入时,会显示一个小的文本编辑器窗口,该窗口支持您编辑该公式。若需要更多空间,您可以点击最大化编辑器按钮 。默认在最大化的编辑器中打开长公式。
‒ 选择某列或函数时,该项将添加至选定的蓝框。
‒ 您还可以将“列”列表中的列拖入选定框。
注意:元素周围出现蓝色外框时,表示该元素已被选中。相对于所点击位置的最小嵌套框内的所有项都将被选中。后续操作应用于这些组合元素。
2. 添加表达式、函数和项。然后它们就会出现在突出显示的蓝框内。本章中的以下各节提供有关如何添加常数、元素、运算符和函数的详细说明。
图 7.2 生成公式
有关如何使用“公式编辑器”的示例,请参见使用基本公式编辑器功能。
注意:
• 在公式中,使用值标签引用某列时,将光标停放在值标签上将能查看实际数据值。
• “公式编辑器”识别“已排除”状态并从计算中移除这些行。以下是使用 Col Maximum() 函数的一个示例:
Col Maximum( :height, :sex, Excluded( Row State() ) )
• 公式中的空格将被 JMP 自动删除。
• 您还可以使用“公式编辑器”定义定制格式。例如,您可能希望使用计算 Char( :height * 2.54 ) || " cm" 将某个数字从英寸转换为厘米。您应该意识到:您在双击数据表单元格时看到的底层数据仍然是 :height 的值。
• 要将光标从公式中的一个字段移至另一个字段,请选择该字段,然后按箭头键。
• 对于“列均值”之类的聚合函数,若您将公式拆分为两列,公式的计算速度可能更快。一列应包含表示聚合函数目标的表达式。另一列应包含引用新目标列的聚合函数本身。下面是原始公式的一个示例:
:Y - Col Mean( If( :Status == "nonsmoker", :Y, . ), :Cycle )
In a new Y2 column, create this formula:
If( :Status == "nonsmoker",
:Y,
.
)
在另一列中,创建下面的公式:
:Y - Col Mean( :Name( :Y2, :Cycle )