生成公式时最好以充当参数的任意表达式开头。这是因为函数具有较高的优先级,并且始终与相应的参数组合在一起。同时还建议尽量遵循优先级从高到低的顺序来创建表达式。若需要圆括号,务必在输入要括起来的表达式之前先输入左圆括号。
例如,假定有一个包含 A、B 和 C 这三列的数据表,请使用以下步骤编写表达式 A(B + C)。请注意,该表达式不同于 A x B + C,后者计算为 (A x B) + C。
要输入表达式,请执行以下步骤:
1. 在“列”列表中点击列 A。
2. 点击“公式编辑器”小键盘中的乘号按钮 。
3. 输入左圆括号。
4. 在“列”列表中点击列 B。
5. 点击“公式编辑器”小键盘中的加号按钮 。
6. 在“列”列表中点击列 C。
由于优先顺序决定每个函数影响的参数,所以它也会影响表达式的分组。选择公式中的函数,检查优先顺序规则是如何应用的。
通常,没有必要在构建公式时考虑高效计算。无论公式结构如何,多数公式的计算都几乎是在瞬间完成的。这是因为在计算列值时,统计函数和常数表达式只计算一次。
不过,在创建条件表达式时,请记住 Match 与等效的条件函数 If 相比,计算速度更快,且占用的内存空间要少。(请注意,Match 忽略尾随空格,但 If 不忽略。)
例如,使用 Big Class.jmp,您可以根据儿童的年龄预测其身高,如Figure 7.14所示。58.125 英寸是基准身高,在此基础上根据年龄变量的值来增加数量。
图 7.14 Match 条件语句比 If 函数的计算速度更快
“Match”条件语句比 If 函数的计算速度更快,这是因为年龄变量对数据表中的每一行仅计算一次。If 条件必须在每个 If 子句中为每行都计算年龄变量,直到子句计算结果为真。