spotfire - spotfire 使用 over 函数计算列
问题描述
我想创建一个计算列“indicateur”,当我有一个 True 时跟踪布尔值,我将指标增加 1,但是我希望假行具有最后一个真指标的值。
当我传递给一个新 ID 时,增量从零开始。
我已经使用 over 函数尝试了一些点火表达式,但没有得到正确的结果
case
when [boolean] then sum(If([boolean],1,0)) over (Intersect([ID],AllPrevious([ID])))
else 0
end
解决方案
你在这里有几个问题。您的案例语句正在设置数据......它只会计算布尔值为真的总和。
主要问题是 over 声明。这样的事情应该给出正确的答案
sum(If([boolean],1,0)) over (Intersect([ID],AllPrevious([Timestamp])))
推荐阅读
- angular - 如何在 Angular 8 中初始化 Firebase?
- c# - Net Core 将项目迁移到 3.1:我们应该先升级公共/共享项目吗?
- javascript - 第一次尝试时无法加载视频
- php - WordPress 盖茨比
- python - 用于密码的 Django AUTH_PASSWORD_VALIDATORS 在 BaseManager 类中不起作用
- magento2 - 在哪里可以找到 Magento 2 模块列表
- git - Applying git diff contents from a txt file
- c# - ASP.Net Core Api 中间件通过调用控制器操作来结束请求
- javascript - 使用 multipart/form-data 上传多个文件并在 Vue.js 中获取
- r - knitr `code` 选项可以找到本地对象吗?