在 Spotfire 中使用 OVER 函数在数据 table 中产生累积和
Using OVER function in Spotfire to produce cumulative sum in a data table
我有一个关于 OVER 语句和累积求和的初学者问题:
假设我有一个 table,第一列为年份,第二列为销售额,例如:
Year Sales
2001 10
2002 20
2003 30
...
我想要做的是将一年的销售额添加到下一年,并将这些 运行 放在 Spotfire 的一列中。对于第一年的情况,我只想展示那一年的销售额,例如
Year Sales Year sales + Year -1 sales
2001 10 10
2002 20 30
2003 30 50
...
我尝试了以下 OVER 语句:
If(
Count([Year]) over (Previous([Year]))=0,
[Sales],
[Sales] + Sum([Sales]) Over (Previous([Year])))
...但我得到了奇怪的结果:
Year Sales Year sales + Year -1 sales
2001 10 10
2002 20 <seemingly null>
2003 30 50
...
对我做错了什么有什么想法吗?简而言之,我正在尝试找出与第一个节点不同的结果(我认为这是正确的术语!!:))
我试过使用 THEN
语句,如 SO page 中所述,但似乎没有帮助。
这个公式应该可以帮助您得到想要的结果。
Sum([Sales]) over (LastPeriods(2,[Year]))
我有一个关于 OVER 语句和累积求和的初学者问题:
假设我有一个 table,第一列为年份,第二列为销售额,例如:
Year Sales
2001 10
2002 20
2003 30
...
我想要做的是将一年的销售额添加到下一年,并将这些 运行 放在 Spotfire 的一列中。对于第一年的情况,我只想展示那一年的销售额,例如
Year Sales Year sales + Year -1 sales
2001 10 10
2002 20 30
2003 30 50
...
我尝试了以下 OVER 语句:
If(
Count([Year]) over (Previous([Year]))=0,
[Sales],
[Sales] + Sum([Sales]) Over (Previous([Year])))
...但我得到了奇怪的结果:
Year Sales Year sales + Year -1 sales
2001 10 10
2002 20 <seemingly null>
2003 30 50
...
对我做错了什么有什么想法吗?简而言之,我正在尝试找出与第一个节点不同的结果(我认为这是正确的术语!!:))
我试过使用 THEN
语句,如 SO page 中所述,但似乎没有帮助。
这个公式应该可以帮助您得到想要的结果。
Sum([Sales]) over (LastPeriods(2,[Year]))