Skip to main content
cancel
Showing results for
Search instead for
Did you mean:

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a \$100 discount. Register Now

Helper I

## Cumulative sum in a table

Hello all,

I'm struggling to calculate a cumulative difference between two columns.

My dataset is a table that, for each month of the year, reports two values: "Sum of Requested orders" and "Sum of Confirmed orders".

Each sum is the amount of orders requested or confirmed in each month.

I would like to add another column, for each month, that calculates the difference between the two columns. This additional column however should also be comulative and sum the diffences for the whole year.

Data example:

 January February March April Requested Confirmed **bleep** Difference Requested Confirmed **bleep** Difference Requested Confirmed **bleep** Difference Requested Confirmed **bleep**. Difference 2400 2300 100 1000 800 300 1900 1750 450 2000 1500 950

I arrive to calculate the Difference in each month, but struggle to create the cumulative difference

any suggestion from the guru of DAX?

🙂

1 ACCEPTED SOLUTION
Super User

Hi @moia79
Please try

``````Difference =
VAR CurrentMonth =
MAX ( 'Date'[Month Number] )
VAR T1 =
CALCULATETABLE (
VALUES ( 'Date'[Month] ),
'Date'[Month Number] <= CurrentMonth
)
VAR T2 =
ADDCOLUMNS (
T1,
"@Difference",
VAR CurrentMonth1 = 'Date'[Month]
RETURN
CALCULATE (
[Requested] - [Confirmed],
ALL ( 'Date'[Month] ),
'Date'[Month] = CurrentMonth1
)
)
RETURN
SUMX ( T2, [@Difference] )``````
4 REPLIES 4
Community Champion

That looks like an output table, i.e. matrix visual.

What is your input data? If it looks like the table below then it's an easy setup

 Month Requested Confirmed Jan 2400 2300 Feb 1000 800

Did I answer your question? Mark my post as a solution!
Thank you for the kudos 🙂

Helper I

hi @Stachu

yes, table is as you reported. For each row I need to calculate the difference (Requested - Confirmed).

Moreover, I need that this difference is cumulative, so that each month difference is summed to the one calculated in the previous month

e.g.:

Jan = 2.400 - 2.300 = 100

Feb = (1.000 - 800) + January = 200 + 100 = 300

March = (xxx - xxx) + Feb = ( ... ) + 300

Super User

Hi @moia79
Please try

``````Difference =
VAR CurrentMonth =
MAX ( 'Date'[Month Number] )
VAR T1 =
CALCULATETABLE (
VALUES ( 'Date'[Month] ),
'Date'[Month Number] <= CurrentMonth
)
VAR T2 =
ADDCOLUMNS (
T1,
"@Difference",
VAR CurrentMonth1 = 'Date'[Month]
RETURN
CALCULATE (
[Requested] - [Confirmed],
ALL ( 'Date'[Month] ),
'Date'[Month] = CurrentMonth1
)
)
RETURN
SUMX ( T2, [@Difference] )``````
Helper I

thanks @tamerj1 it works perfectly

## Helpful resources

Announcements

#### Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

#### Power BI Monthly Update - February 2024

Check out the February 2024 Power BI update to learn about new features.

#### Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

#### Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors
Top Kudoed Authors