Charting

Charting

cumulative sum

Is it possible to have a cumulative sum for values in one column to show in another so that the final today would be in the last row? ex. in the attached screenshot If I wanted to have Total Revenue cumulatively sum and show each new value in a column next to it so the in the first row of 'Cumulative Sum' would be 19075 and the second row would be 19075+8724218.03, in the third would be 19075+8724218.03+66363.24, etc

 

 

My hope is then if I can generate this then create another beastmode to have the max of the column cumulative sum so that I would just have the grand total

 

 

thanks

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In

Best Answer

  • Domo Employee
    Answer ✓

    is `Total Revenue` ever null?

     

    try 

    1. IFNULL(`Total Revenue`,0) / (SUM(IFNULL(`Total Revenue`,0)) OVER())

Answers

  • Contributor

    I'm not sure if you can do it in a beastmode or not but you can achieve something like that you're looking for in an ETL.

     

    Use the Rank & Window block with a function of SUM based on your Total Revenue field and make it unbounded with a preceeding of 0.

     

    Dojo Help 701.JPG

     

     

     

    When I look just at those columns you can see it's a running total.

    Dojo Help 702.JPG

     



    **Make sure to like any users posts that helped you and accept the ones who solved your issue.**
  • Domo Employee

    @meadow_ryan - I'm trying to understand your use case.  You want to calculate a running total so that you can take the max() of that field to get a grand total?

     

    Unless there is more to this, why not just sum the column?

     

    If the intention is to understand what percentage of total revenue is coming from each company, you can to this using beastmodes.

    For `Grand Total (Revenue)`

    1. (sum(`Total Revenue`) over ())

    for % of revenue

    1. `Total Revenue` / (sum(`Total Revenue`) over ())

     

    This will give you something like this:1.png

    The advantage to doing this in the beastmode is that the grand total and the percentage will recalculate as you apply any filters to the card

     

  • I added the following to my card and the card doesn't display any data now

     

    `Total Revenue`/(sum(`Total Revenue`) over ())

  • entering as it looks in the attached screenshot and its not taking it?

  • Domo Employee
    Answer ✓

    is `Total Revenue` ever null?

     

    try 

    1. IFNULL(`Total Revenue`,0) / (SUM(IFNULL(`Total Revenue`,0)) OVER())
  • don't believe it ever will be, but when I add the beast mode function receive the following in the screenshot

  • Domo Employee

    You need to make sure that none of the other fields are aggregate functions as well.

     

    I'm guessing that =Profit is an aggregate field.  Try taking it off or removing the aggregate from the beastmode formula

  • =Profit is

     

    SUM(`Total Revenue` - ABS(`Total Cost`))

  • Domo Employee

    change it to:

    1. `Total Revenue` - ABS(`Total Cost`)
  • getting the following now

  • Domo Employee

    change the field to display as a percent with 2 decimals

This discussion has been closed.