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! Request now

Reply
operpf2312
New Member

Display different period-over-period change depending on current Matrix hierarchy

I want to display "Month-over-month change" measure when Matrix is expanded to months, then when User selects "Drill up" I want to display "Quarter-over-quarter change" measure and finally when user selects "Drill up" again I want to display "Year-over-year change" measure.


So in a fully expanded Matrix I have a correct "Month-over-month change" measure:
expanded.png

 

Then on a "Drill up" action I get what's on the left image but I want what's on the right one.

bad.pnggood.png






 

 

Bellow is my "Month-over-month change" DAXmeasure, it differs from the QoQ and YoY only by a period that is subtracted in a DATEADD function:

 

 

MoM% = 
VAR __PREV_MONTH = CALCULATE(SUM('Table'[quantity]), DATEADD('Date'[Date], -1, MONTH))
RETURN
	IF(
        ISBLANK(SUM('Table'[quantity])),
        BLANK(),
        DIVIDE(
			SUM('Table'[quantity]) - __PREV_MONTH,
			__PREV_MONTH
		)
    )

 

 

 

I tried using ISFILTERED and ISINSCOPE but it seems that they don't react to "Drill up" action.

Changing from one mesaure to another does not have to necessarily response directly to a "Drill up" action, it will be ok if I provide a seperate interface via single select slicer.

 

Im using a seperate date dim table 'Date' with a relationship to a date column in a source table 'Table'.

1 ACCEPTED SOLUTION
operpf2312
New Member

I managed to resolve this by using ISINSCOPE function (no idea why this did not work the first time I tried it).

I simply created a seperate measure with a switch statement:

PPG% = 
	SWITCH(TRUE(),
	ISINSCOPE('Date'[PL Calendar Month]),[Value_grouped MoM%],
	ISINSCOPE('Date'[Calendar Quarter]),[Value_grouped QoQ%],
	[Value_grouped YoY%]
	)

 

View solution in original post

1 REPLY 1
operpf2312
New Member

I managed to resolve this by using ISINSCOPE function (no idea why this did not work the first time I tried it).

I simply created a seperate measure with a switch statement:

PPG% = 
	SWITCH(TRUE(),
	ISINSCOPE('Date'[PL Calendar Month]),[Value_grouped MoM%],
	ISINSCOPE('Date'[Calendar Quarter]),[Value_grouped QoQ%],
	[Value_grouped YoY%]
	)

 

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