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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
coetseem
Frequent Visitor

DAX Formula

Good day, 

 

I am looking for a dax formula that can caclulate a % over each status.

 

Meaning Churn / Opening ARR = -2.8 but i want to do this for all statuse below in one coloum.

 

Each status is devided over the Opening ARR.

 

Reporting Status Sum of ARR £m % of Opening ARR
Opening ARR                  111.38100.0%
Churn-                     3.17-2.8%
Downsell-                     3.99-3.6%
Gross Retention                  104.2293.6%
Upsell                    17.2515.5%
Net Retention                  121.46109.1%
New                      3.623.3%
Acquisitions                           -  0.0%
Closing ARR                  125.08112.3%
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @coetseem ,

Is this column the sum of all your clients?

vzhouwenmsft_0-1715849893707.png

 Use the following DAX expression to create  measures

value = SUM('Table'[ARR Value])
Measure = 
VAR _a = SUMXX(FILTER(ALL('Table'),'Table'[Reporting Status] = "Opening ARR"),[ARR Value])
RETURN DIVIDE([value],_a)

If you simply want to see the values for a single user, put the user field in the slicer.

View solution in original post

7 REPLIES 7
Ritaf1983
Super User
Super User

Hi @coetseem 
How does your data look?
Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).
https://community.powerbi.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-...

Regards,
Rita Fainshtein | Microsoft MVP
https://www.linkedin.com/in/rita-fainshtein/
Blog : https://www.madeiradata.com/profile/ritaf/profile

Account No CF_CU_NAMESum of ARR ValueDatePeriodPeriodEntityRegionReporting StatusReporting Status Detailed
Tier13531.32153P6 - Jun-23P6UKRUKOpening ARROpening ARR
Tier13531.32153P6 - Jun-23P6UKRUKGross RetentionGross Retention
Tier1256.81846P6 - Jun-23P6UKRUKUpsell   - Upsell Revenue Stream
Tier13788.13999P6 - Jun-23P6UKRUKNet RetentionNet Retention
Tier10P6 - Jun-23P6UKRUKAcquisitions   - Acquisitions Revenue Stream
Tier13788.13999P6 - Jun-23P6UKRUKClosing ARRClosing ARR
Tier10542.47853P6 - Jun-23P6UKRUKOpening ARROpening ARR
Tier10542.47853P6 - Jun-23P6UKRUKGross RetentionGross Retention
Tier1071.97887P6 - Jun-23P6UKRUKUpsell   - Upsell Revenue Stream

Account No CF_CU_NAMESum of ARR ValueDatePeriodPeriodEntityRegionReporting Status
Tier13531.32153P6 - Jun-23P6UKRUKOpening ARR
Tier13531.32153P6 - Jun-23P6UKRUKGross Retention
Tier1256.81846P6 - Jun-23P6UKRUKUpsell
Tier13788.13999P6 - Jun-23P6UKRUKNet Retention
Tier110P6 - Jun-23P6UKRUKAcquisitions
Tier13788.13999P6 - Jun-23P6UKRUKClosing ARR
Tier10200P6 - Jun-23P6UKRUKChurn
Tier10100P6 - Jun-23P6UKRUKDownsell
Tier1050P6 - Jun-23P6UKRUKNew

StatusValueDAX %
Opening ARR3531.32100.0%
Churn200.005.7%
Downsell100.002.8%
Gross Retention3531.32100.0%
Upsell256.827.3%
Net Retention3788.14107.3%
New50.001.4%
Acquisitions10.000.3%
Closing ARR3788.14107.3%

 

The Opening ARR is devided by the Opening ARR which gives me the 100% then each status is devided into the Opening ARR to give me their % but all needs to be in one column.

Anonymous
Not applicable

Hi @Ritaf1983 ,thanks for the quick reply, I'll add further.

Hi @coetseem ,

The Table data is shown below:

vzhouwenmsft_0-1715762082341.png

Please follow these steps:
1. Use the following DAX expression to create a measure

value = SUM('Table'[Sum of ARR Value])

2.Use the following DAX expression to create a measure

Measure = 
VAR _a = MAXX(FILTER(ALL('Table'),'Table'[Reporting Status] = "Opening ARR"),[Sum of ARR Value])
RETURN DIVIDE([value],_a)

3.Final output

vzhouwenmsft_1-1715762158815.png

 

Good day, 

 

This does not work on my dataset.

 

I have over 80 000 clients and each one have a line with a Opening ARR, Churn etc so in the data set you will need to add a few clients each with an Opening ARR, Churn etc. Below is the output that i get when i applied the measure.

 

coetseem_0-1715767721300.png

 

Anonymous
Not applicable

Hi @coetseem ,

Is this column the sum of all your clients?

vzhouwenmsft_0-1715849893707.png

 Use the following DAX expression to create  measures

value = SUM('Table'[ARR Value])
Measure = 
VAR _a = SUMXX(FILTER(ALL('Table'),'Table'[Reporting Status] = "Opening ARR"),[ARR Value])
RETURN DIVIDE([value],_a)

If you simply want to see the values for a single user, put the user field in the slicer.

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.