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

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! 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

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.

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

 

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
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors