Forum Discussion

DA12345's avatar
DA12345
Frequent Visitor
5 years ago
Solved

Cumulative Total Between Two Columns Where The First Set to Zero

Good Day, I have a situation that is illustrated by the table below:

Date (Calendar Table)Customer NameOpening BalanceInvoice TotSubsClosing Balance
July 1, 2019A01002080
July 2, 2019A(closing balance goes here)20595

 

The idea is for the closing balance to become the opening balance at the start of each new day and continue on cumulatively. I have trouble ensuring that if this is the first day the customer is participating, the customer's opening balance is set to 0 and the closing balance keeps doing its thing onward. 

Any suggestions?

  • DA12345 , Try measure like

     

    Opening balanace = calculate(sum(Table[Invoice]) - sum(Table[TotSubs]) , filter(allselected('Date'), Date[Date] < max(Date[Date])))


    Closing Balance = calculate(sum(Table[Invoice]) - sum(Table[TotSubs]) , filter(allselected('Date'), Date[Date] <= max(Date[Date])))

     

    if closing balance is already a column  with number

     

     

    Opening balanace

    = CALCULATE(SUM(Table[closing balance ]),previousday('Date'[Date]))

3 Replies

  • DA12345 , Try measure like

     

    Opening balanace = calculate(sum(Table[Invoice]) - sum(Table[TotSubs]) , filter(allselected('Date'), Date[Date] < max(Date[Date])))


    Closing Balance = calculate(sum(Table[Invoice]) - sum(Table[TotSubs]) , filter(allselected('Date'), Date[Date] <= max(Date[Date])))

     

    if closing balance is already a column  with number

     

     

    Opening balanace

    = CALCULATE(SUM(Table[closing balance ]),previousday('Date'[Date]))

    • DA12345's avatar
      DA12345
      Frequent Visitor

      Thank you. This works to a limited degree however, I have a date slider on the page that influences that table, if the earliest date range is not selected in that range, It doesn't present a correct closing balance based on what come before.

      • DA12345's avatar
        DA12345
        Frequent Visitor

        In my case, this I replaced ALLSELECTED() with ALL()