我想创建一个计算列“ indicateur”,该列可跟踪布尔值 当我拥有True时,我将指标增加1,但是我希望错误的行具有最后一个true指标的值。
当我传递到新ID时,增量从零开始。
我已经使用over函数尝试了一些Spotfire表达式,但未获得正确的结果
case
when [boolean] then sum(If([boolean],1,0)) over (Intersect([ID],AllPrevious([ID])))
else 0
end
答案 0 :(得分:2)
您在这里遇到了几个问题。您的case语句正在对数据进行子设置...它将仅在布尔值为true时才计算总和。
主要问题是over语句。这样的事情应该给出正确的答案
sum(If([boolean],1,0)) over (Intersect([ID],AllPrevious([Timestamp])))