Forum Discussion

Deva002's avatar
Deva002
Frequent Visitor
9 years ago
Solved

Running total / cumulative Sales

 

We have a requirement to create some Running totals in Power BI, we tried several measures but the results were not as expected.

how can we achieve this in Power BI?

 

Solution to this problem can be used in multiple scenarios like cumulative sales, Amount Invoiced so far, stock levels etc.

 

Sample Dataset:

Sales

cumulative Sales

10

10

20

30

30

60

40

100

 

Happy New Year!!

-Deva

  • Hi Deva002,

     

    Sorry for late response cause i just arrived hometown for new year ^_^

    One of purposes when using external Dates table to allow you filter another fields in same fact table and the cummulative will be reflected. So if your fact table has only 2 columns  Date and Value, i think you could use ALL method and Date column of that.

     

    Cummulative. = CALCULATE(SUM(TableB[Value]),filter(ALL(TableB), TableB[Date]<=MAX(Dates[Date]) ))

    In case you have additional fields and want to filter on that column, you need to handle with ALLEXCEPT, something like this:

     

    Cummulative = CALCULATE(SUM(TableB[Value]),filter(ALLEXCEPT(TableB,TableB[AdditionalField/Dim]), TableB[Date]<=MAX(Dates[Date]) ))

    So my recommendation is using Time Pattern as topic (external dates table):smileyvery-happy:

     

    If this works for you please accept it as solution and also like to give KUDOS.

    Best regards
    Tri Nguyen

4 Replies

      • tringuyenminh92's avatar
        tringuyenminh92
        Icon for Memorable Member rankMemorable Member

        Hi Deva002,

         

        Sorry for late response cause i just arrived hometown for new year ^_^

        One of purposes when using external Dates table to allow you filter another fields in same fact table and the cummulative will be reflected. So if your fact table has only 2 columns  Date and Value, i think you could use ALL method and Date column of that.

         

        Cummulative. = CALCULATE(SUM(TableB[Value]),filter(ALL(TableB), TableB[Date]<=MAX(Dates[Date]) ))

        In case you have additional fields and want to filter on that column, you need to handle with ALLEXCEPT, something like this:

         

        Cummulative = CALCULATE(SUM(TableB[Value]),filter(ALLEXCEPT(TableB,TableB[AdditionalField/Dim]), TableB[Date]<=MAX(Dates[Date]) ))

        So my recommendation is using Time Pattern as topic (external dates table):smileyvery-happy:

         

        If this works for you please accept it as solution and also like to give KUDOS.

        Best regards
        Tri Nguyen

  • Baskar's avatar
    Baskar
    Icon for Resident Rockstar rankResident Rockstar

    Cool Dude,

     

    We can do , 

     

    1. Have to add index on your Table using Power Query 

     

     

     

     

    2. Have to create Calculated Column 

     

     

     

    Let me know if it is not helping u