Spotfire运行余额(累计金额)

时间:2017-06-27 20:08:30

标签: sum spotfire running-total cumulative-sum

我正在尝试在Spotfire中创建一个运行平衡列,它应该看起来像下面附带的图片。本质上,我想逐行计算“金额”列的累计总数,并且我希望它随着日期的变化从0开始。

我尝试了几种OVER功能: Sum([AMOUNT]) OVER AllPrevious([Date]) Sum([AMOUNT]) OVER Intersect([CURRENCY],AllPrevious([SETTLEDATE])) Sum([AMOUNT]) OVER Intersect([Calculation Date],AllPrevious([SETTLEDATE]))

非常感谢任何帮助。

Here is the Picture

2 个答案:

答案 0 :(得分:3)

你对第一次的陈述非常接近。问题是,当您使用over (AllPrevious([Date]))并且每个日期没有1行时,您将跳过行。因此,您的数据的最后一行只会将6/1/2017列中的Date行与其相加。相反,我们需要将RowID应用于您的数据集,然后对其进行求和。这将确保我们总结以前的所有行。

假设您的数据集符合您希望数据集进入SpotFire时的顺序,请执行以下操作:

  • 插入计算列RowID()并将其命名为RowID
  • 使用此计算:Sum([amount]) over (Intersect([Date],AllPrevious([RowID])))

这将为您提供您正在寻找的运行金额。

答案 1 :(得分:1)

@ scsimon-我根据问题的要求稍微修改了您的自定义表达式以包含date

修改后的表达式:

Sum([Amt]) over (intersect(Allprevious([rowID]),[Date]))

最终输出表:

enter image description here

@LeoL - 希望这能回答你的问题。