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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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