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
Trudgeon
Helper III
Helper III

Possible to have matrix with SUMX function in which grand total changes based on drill down level?

I'm working on a matrix report that calculates price variance.  Due to the nature of the calculation, I need to use the SUMX function as the total would not otherwise foot.  Now here is the tricky part...

 

I want to have 3 drill down levels:  Account, Product Group and Product

 

I want to have one column for price variance, then give users the ability to drill-down, seeing a different grand total depending on the current drill level.  Below, I'm showing how each drill level would have a different grand total.

 

Drill Down Levels.JPG

 

Here are the DAX measures based on grouping level...

 

VARIANCE_PRICE_VAR_SUMX_ACCOUNT_VS_BDGT =
SUMX( VALUES(VIEW_VARIABLE_COSTS_UNION[CUSTOMER_DESC_SOLD]),
VIEW_VARIABLE_COSTS_UNION[VARIANCE_PRICE_VAR_VS_BDGT])

 

VARIANCE_PRICE_VAR_SUMX_PRODUCT_GROUP_VS_BDGT = SUMX(VALUES(VIEW_VARIABLE_COSTS_UNION[PRODUCT_GROUP]),
VIEW_VARIABLE_COSTS_UNION[VARIANCE_PRICE_VAR_VS_BDGT])
 
VARIANCE_PRICE_VAR_SUMX_PRODUCT_VS_BDGT = SUMX(VALUES(VIEW_VARIABLE_COSTS_UNION[MFC_PRODUCT]),
VIEW_VARIABLE_COSTS_UNION[VARIANCE_PRICE_VAR_VS_BDGT])
 
Any help would be appreciated!

 

 

 

2 REPLIES 2
Ashish_Mathur
Super User
Super User

Hi,

Does this measure work?

=IF(HASONEVALUE(VIEW_VARIABLE_COSTS_UNION[MFC_PRODUCT]),SUM(VIEW_VARIABLE_COSTS_UNION[VARIANCE_PRICE_VAR_VS_BDGT]),IF(HASONEVALUE(VIEW_VARIABLE_COSTS_UNION[PRODUCT_Group]),Measure3,IF(HASONEVALUE(VIEW_VARIABLE_COSTS_UNION[CUSTOMER_DESC_SOLD]),Measure2,Measure1)))


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

Thanks for the response.  The formula didn't like the "SUM" expression, so I tried replacing it with CALCULATE but, unfortunately, the totals did not change while drilling.
 
I also tried the following measure, but it just resulted in the totals all being blank.
 
VARIANCE_PRICE_VAR =
IF(HASONEVALUE(VIEW_VARIABLE_COSTS_UNION[MFC_PRODUCT]),[VARIANCE_PRICE_VAR_SUMX_PRODUCT_VS_BDGT],
IF(HASONEVALUE(VIEW_VARIABLE_COSTS_UNION[PRODUCT_Group]),[VARIANCE_PRICE_VAR_SUMX_PRODUCT_GROUP_VS_BDGT],
IF(HASONEVALUE(VIEW_VARIABLE_COSTS_UNION[CUSTOMER_DESC_SOLD]),[VARIANCE_PRICE_VAR_SUMX_ACCOUNT_VS_BDGT],
BLANK()
)))

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

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!

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