Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 28 - August 9 | Final Round of the Power BI Dataviz World Championships. This is your chance. Learn more
Hi dear, I have the following measure that currently works well however being part of a multilevel report when deploying a category that can contain up to 800 items the calculation becomes slow and consequently the matrix display my question is how can I improve that measure so that it calculates only on the current level that I am selecting (displaying) in the matrix.
Volume3:=SWITCH(TRUE(), HASONEVALUE(Sales[Item]),[Volume2], HASONEVALUE(Division[DivShort]),(DIVIDE(Sales[Qtty Current],Sales[Qtty Last],0)-1)*Sales[MXP-USD Last], HASONEVALUE(Customer[SECTOR]),(DIVIDE(Sales[Qtty Current],Sales[Qtty Last],0)-1)*Sales[MXP-USD Last], HASONEVALUE(Customer[Holding]),(DIVIDE(Sales[Qtty Current],Sales[Qtty Last],0)-1)*Sales[MXP-USD Last], HASONEVALUE(Vendor[Name]),(DIVIDE(Sales[Qtty Current],Sales[Qtty Last],0)-1)*Sales[MXP-USD Last], HASONEVALUE(Sales[CURR]),SUMX(VALUES(Class[Description Class]),Sales[ZVolume2]), BLANK() )
Solved! Go to Solution.
Hi @Anonymous
I would suggest you could create several measures to achieve that.For example:
Measure1=(DIVIDE(Sales[Qtty Current],Sales[Qtty Last],0)-1)*Sales[MXP-USD Last]
Measure2=SUMX(VALUES(Class[Description Class]),Sales[ZVolume2])
Volume3 :=
SWITCH (
TRUE (),
HASONEVALUE ( Sales[Item] ), [Volume2],
HASONEVALUE ( Division[DivShort] ), [Measure1],
HASONEVALUE ( Customer[SECTOR] ), [Measure1],
HASONEVALUE ( Customer[Holding] ), [Measure1],
HASONEVALUE ( Vendor[Name] ), [Measure1],
HASONEVALUE ( Sales[CURR] ), [ Measure2],
BLANK ()
)
Or
Volume3 :=
IF (
HASONEVALUE ( Sales[Item] ),
[Volume2],
IF (
HASONEVALUE ( Division[DivShort] ) || HASONEVALUE ( Customer[SECTOR] )
|| HASONEVALUE ( Customer[Holding] )
|| HASONEVALUE ( Vendor[Name] ),
[Measure1],
IF ( HASONEVALUE ( Sales[CURR] ), [ Measure2] )
)
)
Regards,
Hi @Anonymous
I would suggest you could create several measures to achieve that.For example:
Measure1=(DIVIDE(Sales[Qtty Current],Sales[Qtty Last],0)-1)*Sales[MXP-USD Last]
Measure2=SUMX(VALUES(Class[Description Class]),Sales[ZVolume2])
Volume3 :=
SWITCH (
TRUE (),
HASONEVALUE ( Sales[Item] ), [Volume2],
HASONEVALUE ( Division[DivShort] ), [Measure1],
HASONEVALUE ( Customer[SECTOR] ), [Measure1],
HASONEVALUE ( Customer[Holding] ), [Measure1],
HASONEVALUE ( Vendor[Name] ), [Measure1],
HASONEVALUE ( Sales[CURR] ), [ Measure2],
BLANK ()
)
Or
Volume3 :=
IF (
HASONEVALUE ( Sales[Item] ),
[Volume2],
IF (
HASONEVALUE ( Division[DivShort] ) || HASONEVALUE ( Customer[SECTOR] )
|| HASONEVALUE ( Customer[Holding] )
|| HASONEVALUE ( Vendor[Name] ),
[Measure1],
IF ( HASONEVALUE ( Sales[CURR] ), [ Measure2] )
)
)
Regards,
If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!
Check out the July 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 29 | |
| 28 | |
| 20 | |
| 20 | |
| 19 |
| User | Count |
|---|---|
| 35 | |
| 26 | |
| 20 | |
| 18 | |
| 17 |