在 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]))