可以在公式中包括条件表达式(简称为条件)。使用这些表达式,您可以生成一系列与结果表达式配对的子句。构造一系列子句可以让您根据条件将值赋给计算列中的单元格。条件遵循以下规则:
有关语法的详细信息,请参见《Scripting Guide》中的 Conditional Functions和《JSL Syntax Reference》中的 Conditional and Logical Functions。
注意:Interpolate、Step、For 和 While 最常与其他命令一起使用来生成 JSL 脚本。您可以使用“公式编辑器”在该列中创建和执行脚本,但不推荐这样做,因为这会导致相关性问题并造成混淆。通常将脚本存储为 .jsl 文件,可以作为表属性与数据表一起保存。有关表属性的详细信息,请参见表面板。有关脚本命令的文档,请参见《JSL Syntax Reference》。
显示包含缺失表达式和缺失 then 子句的单个 If 条件。突出显示 expr 或 then 子句,然后输入值。例如,要计算合计不为 0 时计数占合计的百分比,请输入条件表达式中的条件表达式(使用名为计数和合计的列)。
要向 If 条件中添加新条件,请突出显示 then 子句,然后点击“公式编辑器”小键盘上的插入按钮 ()。初始时它将现有 else 条件更改为 expr 子句。再次点击插入按钮可添加 else 子句。突出显示 then 或 else 并重复点击插入按钮可将 else 更改为 expr 或添加新的 expr 子句。
在“公式编辑器”中选择 Match 后,将显示一个列表和两个选项:
•
|
•
|
在自动填充的参数中,您应突出显示 then 子句,然后输入表达式。在空参数中,您突出显示 expr、value 或 then 子句,然后输入表达式。(或者,若您突出显示一个表达式,然后点击 Match,则“公式编辑器”创建新的 Match 条件,其中原始突出显示的表达式作为 expr 且不为 value 和 else 子句赋值。) 另外,请记住:
•
|
•
|
尽管 Match 对于任意缺失值返回“缺失”,您也可以专门匹配缺失值。
Choose 是 Match 的特殊形式,其中条件的参数为从 1 开始的一系列整数。子句的值替换匹配条件。Choose 条件的示例中显示了 Choose 条件的示例。 使用 Choose,“公式编辑器”直接转到正确的选择子句并对结果表达式求值。
Choose 条件的示例
创建 And 函数
创建 Or 函数
And 和 Or 表达式的求值中左边的真值表显示当两个参数具有求值结果为真或假的非缺失值时 And ( & ) 和 Or (| ) 函数的结果。右边的表显示左边或右边的表达式(称它们为 a 和 b)或两者具有缺失值时的结果。
And 和 Or 表达式的求值
参数为假时求值结果为 1。否则,Not 的求值结果为 0。应用 Not 函数时,请根据需要使用括号以避免歧义。例如,!(weight==64) 可以为真或假(1 或 0),但是 (!weight)==64 始终为假 (0),因为 Not 只能返回 0 或 1。诸如 !(weight==64) 的表达式还可以输入为 weight != 64。
在与您指定的参数对应的两个点 (x1, y1) 和 (x2, y2) 之间线性插入 y 值。可以使用插入键插入更多对 x, y 参数。Interpolate 查找与 x 值对应的 x, y 值对(点)并完成插值。
Step 与 Interpolate 类似,不同的是它返回与最大 x 值对应的 y 值,它们分别小于等于 x 和 y 参数。即它从 step 函数而非两个点之间的线性拟合查找对应指定 x 的 y。与 Interpolate 类似,您可以具有所需的任意多对 x 和 y 参数。
Break 完全停止执行循环,而继续执行循环后面的语句。Continue 结束循环的当前迭代并在下一迭代开始循环。