2017-06-27 144 views
1

Spotfireで、以下に添付されている画像のように見えるランニングバランス列を作成しようとしています。本質的には、行ごとに「金額」列の累積合計を計算し、日付が変わると0から開始したいと考えています。Spotfireランニングバランス(累積合計)

私は機能に比べていくつか試してみました: Sum([AMOUNT]) OVER AllPrevious([Date]) Sum([AMOUNT]) OVER Intersect([CURRENCY],AllPrevious([SETTLEDATE])) Sum([AMOUNT]) OVER Intersect([Calculation Date],AllPrevious([SETTLEDATE]))

すべてのヘルプは大歓迎です。

Here is the Picture

答えて

1

あなたは声明の上に最初に非常に接近していました。問題は、over (AllPrevious([Date]))を使用し、日付ごとに1つの行がない場合、行をスキップすることです。したがって、データの最後の行は、6/1/2017Date列にある行でのみ合計されます。その代わりに、データセットにRowIDを適用し、それを合計する必要があります。これにより、すべての前の行が確実に合計されます。

  • この計算を、計算列RowID()を挿入し、RowID
  • 使用という名前を:あなたのデータセットは、あなたがそれはあなたがスポットファイアにそれを持って来るとき、次の操作を行うになりたいためであると仮定すると、

    Sum([amount]) over (Intersect([Date],AllPrevious([RowID])))

これはあなたが探している合計を与えるでしょう。

+0

私の間違いを指摘していただきありがとうございます。あなたのソリューションは素晴らしかったです! – LeoL

+0

問題ありません@LeoL – scsimon

1

@ scsimon-質問で要求されたとおりにカスタム表現を少し修正してdateにしました。

修正の式:

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

最終出力テーブル:

enter image description here

@LeoLは - これは、あなたの質問に答える願っています。

+0

ありがとうございます!魅力のように働いた。 – LeoL

+0

@ LeoL-喜んで助けてください。これであなたの質問が解決したら、答えを受け入れてください。 – ksp585