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

Get Fabric Certified for FREE during Fabric Data Days. 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
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors