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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

DAX to calculate relative and total percentage growth based on multiple time selections

I'm trying to calculate few DAX measure to calculate the total balance change between two selected time periods for different codes. The possible outcome would look like:

 

parag123_2-1617370315362.png

 

 

I have calculated the first 4 DAX measure as follows:

 

 

 

Time Period 1 = VAR _d1 = MIN(data[Date])
RETURN CALCULATE(SUM(data[Balance]), ALLEXCEPT(data,data[Code]),DATESINPERIOD(data[Date], _d1, -6, MONTH)) - CALCULATE(SUM(data[Balance]), ALLEXCEPT(data,data[Code]),DATESINPERIOD(data[Date], _d1, -3, MONTH))
Time Period 2 = VAR _d1 = MAX(data[Date])
RETURN CALCULATE(SUM(data[Balance]), ALLEXCEPT(data,data[Code]),DATESINPERIOD(data[Date], _d1, -6, MONTH)) - CALCULATE(SUM(data[Balance]), ALLEXCEPT(data,data[Code]),DATESINPERIOD(data[Date], _d1, -3, MONTH))
Growth = [Time Period 2]-[Time Period 1]
% Growth = DIVIDE([Growth],[Time Period 2])

 

 

 

 

I created the following DAX for total growth:

 

 

 

Total Growth = var _d1 = MAX(data[Date])
RETURN CALCULATE([% Growth], data[Date]=_d1,ALL(data))

 

 

 

 

But I'm sure something's wrong with the formula as I'm not getting any values: 

parag123_3-1617370421660.png

 

Theoritically 'total growth' is simply the overall growth for all the codes combined(23.21%) in this case which in turn is used to calculate 'relative growth' = % growth - total growth. I'm not able to capture the total growth primarily because it's calculated based on 2 time periods.

 

Please suggest appropriate modifications to the DAX.

 

Link to pbix for reference: https://drive.google.com/file/d/14P9YxYbYqEFZ8VSk7cLuR1li4b6g5m9q/view?usp=sharing

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi, @Anonymous 

I am not sure if I understood correctly, but do you want to show 23.21% for all rows, including the total?

Then, try the below, 

 

CALCULATE([% Growth], ALLSELECTED(data[Code]))
 
Sorry for my poor understanding.
 

Hi, My name is Jihwan Kim.

If this post helps, then please consider accept it as the solution to help other members find it faster.

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Go to My LinkedIn Page


View solution in original post

2 REPLIES 2
Jihwan_Kim
Super User
Super User

Hi, @Anonymous 

I am not sure if I understood correctly, but do you want to show 23.21% for all rows, including the total?

Then, try the below, 

 

CALCULATE([% Growth], ALLSELECTED(data[Code]))
 
Sorry for my poor understanding.
 

Hi, My name is Jihwan Kim.

If this post helps, then please consider accept it as the solution to help other members find it faster.

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Go to My LinkedIn Page


Anonymous
Not applicable

Thanks a lot @Jihwan_Kim this worked like a charm. I always get confused with the 'ALL' function family.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors