
在此示例中,“A+B+C 的总和”使用以下公式计算每行中 :A + :B + :C 的总和:
If( Is Missing( :A ), 0, :A ) + If( Is Missing( :B ), 0, :B ) + If( Is Missing( :C ), 0, :C )
如果我将特定列名更改为列号,则脚本将不再起作用并生成错误
If( Is Missing( Column( 1 ) ), 0, Column( 1 ) ) + If( Is Missing( Column( 2 ) ), 0, Column( 2 ) ) + If( Is Missing( Column( 3 ) ), 0, Column( 3 ) )

我在这里遗漏了什么?
如果您使用的是 Column() 我认为您还必须提供行号。 例如:
Column(1)[Row()]
(AsColumn(Column(1)) 也可能有效)。
也使用
Sum(:A, :B, :C)
应该在没有 IsMissings 的情况下工作
@jthi写道:
也使用
Sum(:A, :B, :C)
应该在没有 IsMissings 的情况下工作
我会支持这个。 看起来您只是想避免 + 运算符所做的缺失值的传播,并且, @jthi指出和()函数就是这样做的。 更多信息在这里: Add() vs. + vs. Sum():有什么区别?
空方括号告诉 JMP 索引列的当前行。 使用 [row()] 是同样的想法。 没有它们,数据类型是列,而不是数字,并且 isMissing 需要数字参数。
sum() 函数是一个很好的选择。