spotfire 使用 over 函数计算列

Posted

技术标签:

【中文标题】spotfire 使用 over 函数计算列【英文标题】:spotfire calculated column using over function 【发布时间】:2019-04-28 13:47:21 【问题描述】:

我想创建一个计算列“indicateur”来跟踪布尔值 当我有一个 True 时,我将指标增加 1,但是我希望 false 行具有最后一个 true 指标的值。

当我传递一个新的 ID 时,增量从零开始。

我已经使用 over 函数尝试了一些点火表达式,但没有得到正确的结果

case  
when [boolean] then sum(If([boolean],1,0)) over (Intersect([ID],AllPrevious([ID])))
else 0
end

【问题讨论】:

看起来它正在做你所描述的你想要它做的事情? 不是真的,以我的表达方式,我只有在真实单元格中的值,而且对于相同 id 中的每一次真实出现,我得到相同的值 哦,所以图片是您想要发生的事情,而不是当前正在发生的事情。我什至懒得看你的表情,因为我认为这是看起来正确的输出。 不用担心!感谢您的关注和回复 【参考方案1】:

这里有几个问题。您的案例语句正在设置数据...它只会计算布尔值为真的总和。

主要问题是 over 声明。这样的事情应该给出正确的答案

sum(If([boolean],1,0)) over (Intersect([ID],AllPrevious([Timestamp])))

【讨论】:

美丽的答案!即使在播放记录顺序后它仍然是正确的,谢谢 ;)

以上是关于spotfire 使用 over 函数计算列的主要内容,如果未能解决你的问题,请参考以下文章

Spotfire 7.6 中的 NPV 和 IRR

百分比计算 - SpotFire

Spotfire 创建增长计算列

Spotfire 交叉表计算

子组 Spotfire 的计算值百分比

spotfire 上个月记录和上季度记录的计算列