问题描述
在Spotfire中,是否有可能在每次从0变为1时使用计算字段来计算状态变化?例如如果(上一行= 0,当前行= 1,求和,否则为空)
解决方法
这实际上很容易做到。
第一步,您需要获取上一行的值。为此,您需要使用聚合和OVER函数。 例如:
First([col2]) over (Previous([col1]))
第二步,确定上一个值为1,当前值为0。
第三步,您需要执行累加和。 您可以在一个计算出的列中完成所有操作,但是为了更加清楚,我将其拆分:
因此,您的第一中间列为(将其命名为TEMP):
if(([UTE-CALC]]=0) and (First([UTE-CALC]]) over (Previous([RowID]))=1),1,0)
最后计算出的列将执行累计总和:
If([UTE-CALC]=0,Sum([TEMP]) OVER (AllPrevious([RowID])))