计算 Spotfire 中不同类型值的上一年值之间的差异

问题描述 投票:0回答:1

我有一个数据集,其中包含 Spotfire 表中几年的各种数量,但是在列中定义了一些行作为预算或实际,如下例表(但实际上我有多个不同的值列):

年份 价值 类型
2022 1000 预算
2022 900 实际
2023 1200 预算
2023 950 实际
2024 1400 预算
2025 1600 预算

对于每个值列,我想创建两个计算列。

第一个将显示每种价值类型与上一年相比的价值金额之间的差异,即比较 2023 年和 2022 年,预算增加了 200(即 2023 年预算的 1200 减去 2022 年预算的 1000),实际价值增加了 50(即 2023 年实际值 950 减去 2022 年实际值 900)。

第二个将显示每年预算和实际金额之间的差异,即在 2022 年,2022 年实际值行中的期望结果将为 -100(即 2022 年实际值 900 小于预算值 1000)

我相信我需要在计算列中使用 OVER 和 PREVIOUS 函数,但我尝试过的语句并没有像我希望的那样工作:

Sum(值])-Sum([值]) OVER 相交 ([类型],上一个([年份]))

目前我的数据集相当小,因此我可以使用简单的 Excel 函数在原始数据中设置这些数据,但希望在 Spotfire 计算列中定义它,这样随着数据集的增长,它不需要维护。

spotfire
1个回答
0
投票

经过多一点阅读和一些尝试和错误后,我成功了。 在这里发布我的解决方案,以便将来有人发现这个问题。

对于第一种情况,我使用:

[值] - First([值]) OVER (相交(上一个([年份]),[类型]))

获取每一行的值,并扣除上一年和相同类型的行的第一个值(在我的例子中,每年只有一行)。

对于第二种情况: [值] - First([值]) OVER (相交(下一个([类型]),[年份]))

这将获取该值,并从同一年的下一个类型中扣除第一个值(如上所述,仅一行)(即预算按字母顺序排列在“实际”之后,如果相反,则可以使用“上一个”)。

© www.soinside.com 2019 - 2024. All rights reserved.