calculated-columns - Spotfire 根据每个组的日期计算单个列中值的差异
问题描述
我需要根据事件计算单列中值的 Spotfire 差异。
数据看起来像
ID | 价值 | 日期 |
---|---|---|
1 | 7 | 2021 年 7 月 1 日 |
1 | 8 | 2021 年 9 月 1 日 |
1 | 10 | 2021 年 10 月 1 日 |
1 | 15 | 2021 年 11 月 1 日 |
1 | 6 | 2021 年 12 月 1 日 |
1 | 3 | 15/01/2021 |
2 | 10 | 2021 年 7 月 1 日 |
2 | 11 | 2021 年 8 月 1 日 |
2 | 12 | 2021 年 9 月 1 日 |
预期的输出是
ID | 价值 | 日期 | 旗帜 |
---|---|---|---|
1 | 7 | 2021 年 7 月 1 日 | 真的 |
1 | 8 | 2021 年 9 月 1 日 | |
1 | 10 | 2021 年 10 月 1 日 | |
1 | 15 | 2021 年 11 月 1 日 | |
1 | 6 | 2021 年 12 月 1 日 | |
1 | 3 | 15/01/2021 | |
2 | 10 | 2021 年 7 月 1 日 | 错误的 |
2 | 11 | 2021 年 8 月 1 日 | |
2 | 12 | 2021 年 9 月 1 日 |
逻辑是
我们需要通过比较每个 id 的第一次接收和最新接收的值来找到标志。
对于 id 1,第一次收到的值为 7
对于 id 1,最新收到的值为 3
是 7>3 真。
为了便于理解,我对 id 列进行了排序。
提前致谢。
解决方案
嗨,我认为您可以分两步执行此操作:
第一步 :
Concatenate(String([Value])) OVER ([ID])
会说您命名此列:测试
这会给你(7,8,10,15,6,3)
第二步 :
Integer(left([test],1)) > Integer(right([test],1))
ID | 价值 | 日期 | 测试 | 旗帜 |
---|---|---|---|---|
1 | 7 | 2021 年 7 月 1 日 | 7、8、10、15、6、3 | 真的 |
1 | 8 | 2021 年 9 月 1 日 | 7、8、10、15、6、3 | 真的 |
1 | 10 | 2021 年 10 月 1 日 | 7、8、10、15、6、3 | 真的 |
1 | 15 | 2021 年 11 月 1 日 | 7、8、10、15、6、3 | 真的 |
1 | 6 | 2021 年 12 月 1 日 | 7、8、10、15、6、3 | 真的 |
1 | 3 | 15/01/2021 | 7、8、10、15、6、3 | 真的 |
2 | 10 | 2021 年 7 月 1 日 | 10、11、12 | 错误的 |
2 | 11 | 2021 年 8 月 1 日 | 10、11、12 | 错误的 |
2 | 12 | 2021 年 9 月 1 日 | 10、11、12 | 错误的 |
推荐阅读
- javascript - 反应文本注释
- c# - 在xml c#中选择特定节点
- vuejs2 - 如何改进 axios.spread
- mysql - #1932 表 'tablename' 在引擎中不存在
- javascript - 需要帮助在另一个 TS 文件中设置类属性值
- github - Azure DevOps - 如何为 GitHub 上的任何分支共享一个状态徽章图像?
- javascript - 如何计算嵌套数组中的项目?
- python-3.x - Python 文件检查和创建
- javascript - 如何合并两个通道的原始 pcm 数据?
- android - 故障转移时如何将 Webview URL 更改为另一个 URL