Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
hi,
i am using a matrix visual like below, my requiremnt is to have the average comes up at the customer level, right now its adding up the values in the format
when i expant the group if you see there is 2 values in the format, i need to get an average when its rolls up to customer view or when its collapsed?
is there anyway to do it?
i tried create a measure using ChatGPT but it still doesn't gives me the output of customer as Average, rather it adds up the values in the format
https://drive.google.com/file/d/11xIOy9rfHCpuY0GA6xUeDto4CKKKUYpO/view?usp=sharing
please find the pbix file for testing
Solved! Go to Solution.
@vinodDrinkPak , Assume format is lower level and customer is upper, you can try like
if(isinscope('CE Per Pallet'[Format]), SUM('CE Per Pallet'[Total CEs]) , AVERAGEX(Values('CE Per Pallet'[Format]), calculate(SUM('CE Per Pallet'[Total CEs]))))
Avg of Sum : https://youtu.be/cN8AO3_vmlY?t=22980
Hi,@amitchandak,thanks for the quick reply, I will add further.
Hi,@vinodDrinkPak,
Regarding your question, the totals are calculated based on the context and since the DAX expression uses the SUM function, the totals will add up.
I tried to average the values at the 'Format' level, and I don't have any idea about the 'Customer' level, please refer to the following DAX expression for detailed steps.
Total CEsTest 1 =
IF(ISINSCOPE('CE Per Pallet'[Format]),
IF(SELECTEDVALUE('CE Per Pallet'[EOM]),
SUM('CE Per Pallet'[Total CEs]) ,
CALCULATE(SUM('CE Per Pallet'[Total CEs]),ALL('CE Per Pallet'[EOM])) / CALCULATE(DISTINCTCOUNT('CE Per Pallet'[EOM]),ALL('CE Per Pallet'[EOM]))),
AVERAGEX(Values('CE Per Pallet'[Format]), calculate(SUM('CE Per Pallet'[Total CEs]))))
Final output :
Best Regards,
Wenbin Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi,@amitchandak,thanks for the quick reply, I will add further.
Hi,@vinodDrinkPak,
Regarding your question, the totals are calculated based on the context and since the DAX expression uses the SUM function, the totals will add up.
I tried to average the values at the 'Format' level, and I don't have any idea about the 'Customer' level, please refer to the following DAX expression for detailed steps.
Total CEsTest 1 =
IF(ISINSCOPE('CE Per Pallet'[Format]),
IF(SELECTEDVALUE('CE Per Pallet'[EOM]),
SUM('CE Per Pallet'[Total CEs]) ,
CALCULATE(SUM('CE Per Pallet'[Total CEs]),ALL('CE Per Pallet'[EOM])) / CALCULATE(DISTINCTCOUNT('CE Per Pallet'[EOM]),ALL('CE Per Pallet'[EOM]))),
AVERAGEX(Values('CE Per Pallet'[Format]), calculate(SUM('CE Per Pallet'[Total CEs]))))
Final output :
Best Regards,
Wenbin Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@vinodDrinkPak , Assume format is lower level and customer is upper, you can try like
if(isinscope('CE Per Pallet'[Format]), SUM('CE Per Pallet'[Total CEs]) , AVERAGEX(Values('CE Per Pallet'[Format]), calculate(SUM('CE Per Pallet'[Total CEs]))))
Avg of Sum : https://youtu.be/cN8AO3_vmlY?t=22980
I tried this and it worked but it doesn't work for the total, total should also be average, both at format and Customer level, i know its a bit tricky and complicated, anything you can help, it will be great
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 58 | |
| 53 | |
| 40 | |
| 17 | |
| 16 |
| User | Count |
|---|---|
| 116 | |
| 105 | |
| 41 | |
| 34 | |
| 25 |