Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Cumulative Sum with filter

I am trying to do a cumulative measure to add to a chart, however becuase my data structure consist of stacked monthly reports if I do so using the below code I end up with summing over repeated instances as each ID appears more than once, therefore I need to filter on the most recent report date - how would I adapt the code below to reflect this?

 

Cumulative Quantity :=
CALCULATE (
    SUM ( Transactions[Quantity] ),
    FILTER (
        ALL ( 'Date'[Date] ),
        'Date'[Date] <= MAX ( 'Date'[Date] )
    )
)

 

 

 

  • tex628's avatar
    tex628
    7 years ago

    Ohh now I understand! Try this! :-)

    Cumulative Quantity :=
    VAR _date = SELECTEDVALUE('Table'[Date] )
    VAR _period = SELECTEDVALUE('Table'[Report Date]) Return CALCULATE ( SUM ( Transactions[Quantity] ), ALL ( 'Table' ), 'Table'[Date] <= _date,
    'Table'[Report Date] = _period
    )

     

     

7 Replies

  • tex628's avatar
    tex628
    Community Champion

    Try this:

    Cumulative Quantity :=
    VAR Mdate = MAX ( 'Date'[Date] )
    Return
    CALCULATE (
        SUM ( Transactions[Quantity] ),
        FILTER (
            ALL ( 'Date'[Date] ),
            'Date'[Date] <= Mdate    )
    )
    Br,
    Johannes
    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks tex628 

       

      I'm not sure this will work as the stack reports have the same date line duplicated in each - I have a column [report date] that I want to filter to be the max. I have included some sample data below, where the aim is to get the cumulative for each month for the April Report.

       

      Report DateDateValue
      Jan-1901/01/2019500
      Jan-1901/02/2019900
      Jan-1901/03/2019800
      Jan-1901/04/2019200
      Feb-1901/01/2019500
      Feb-1901/02/2019900
      Feb-1901/03/2019200
      Feb-1901/04/2019200
      Mar-1901/01/2019500
      Mar-1901/02/2019900
      Mar-1901/03/2019200
      Mar-1901/04/2019400
      Apr-1901/01/2019500
      Apr-1901/02/2019900
      Apr-1901/03/2019200
      Apr-1901/04/2019200

       

       

      • tex628's avatar
        tex628
        Community Champion

        Can you convert the report date column into a proper date column and use that instead? 

        Jan-19 to 01/01/19
        Feb-19 to 01/02/19
        Etc...