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
jdoshi65
Frequent Visitor

Dynamic calculate Measure value based on Slicer Selection

Hi Floks,

 

I have one requirement, where I want to calculate measures based on the user slicer selection. I have sused below formula to create measure to display average of previous month.

 

Avg of Prev Month = AVERAGE('System Data'[ResponseTime]) - CALCULATE(AVERAGE('System Data'[ResponseTime]), PREVIOUSMONTH('System Data'[Date].[Date]))

 

For Slicer, I have used Hierarchy Slicer and displaying Year -> Quarter -> Month.

 

I want to display Average of selection slicer value, if user selects Year then it will calculate Avg of Prev Year, if user selects Quarter then calculate Avg of Prev Quarter and if user selects month then measure should calculate average of prev month.

 

It seems not feasible to do with single column however if there is anywork around to achieve this will be appricieated.

 

Thanks a lot in advance 🙂

1 ACCEPTED SOLUTION
parry2k
Super User
Super User

I think they way you can achieve this by creating calculation for year/quarter/month and then in your final measure, you can use conditional statement:

 

mPrevious Month = CALCULATE(Average(Sheet1[MyData]),ALL('Calendar'), PARALLELPERIOD('Calendar'[Date], -1,MONTH))
mPrevious Year = CALCULATE(AVERAGE(Sheet1[MyData]),ALL('Calendar'), PARALLELPERIOD('Calendar'[Date], -1
,YEAR))

 

mPrevious Quarter = CALCULATE(AVERAGE(Sheet1[MyData]),ALL('Calendar'), PARALLELPERIOD('Calendar'[Date]
, -1,QUARTER))

 

 

Now final calculation using above 3 measures:

 

mMonth Quarter Year =

AVERAGE(Sheet1[MyData]) -

 if(HASONEVALUE('Calendar'[Month]),[mPrevious Month],if(HASONEVALUE('Calendar'[Quarter]),[mPrevious Quarter],if(HASONEVALUE('Calendar'[Year]),[mPrevious Year],[mPrevious Month])))

I didn't checked the syntax etc but i believe this will give you good start.

 

Thanks,

P



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

View solution in original post

1 REPLY 1
parry2k
Super User
Super User

I think they way you can achieve this by creating calculation for year/quarter/month and then in your final measure, you can use conditional statement:

 

mPrevious Month = CALCULATE(Average(Sheet1[MyData]),ALL('Calendar'), PARALLELPERIOD('Calendar'[Date], -1,MONTH))
mPrevious Year = CALCULATE(AVERAGE(Sheet1[MyData]),ALL('Calendar'), PARALLELPERIOD('Calendar'[Date], -1
,YEAR))

 

mPrevious Quarter = CALCULATE(AVERAGE(Sheet1[MyData]),ALL('Calendar'), PARALLELPERIOD('Calendar'[Date]
, -1,QUARTER))

 

 

Now final calculation using above 3 measures:

 

mMonth Quarter Year =

AVERAGE(Sheet1[MyData]) -

 if(HASONEVALUE('Calendar'[Month]),[mPrevious Month],if(HASONEVALUE('Calendar'[Quarter]),[mPrevious Quarter],if(HASONEVALUE('Calendar'[Year]),[mPrevious Year],[mPrevious Month])))

I didn't checked the syntax etc but i believe this will give you good start.

 

Thanks,

P



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

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.