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

Try your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join 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 is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.