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 nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
I am working on a long IF statement. I am trying to put weights on this statment. When I am running this, it slows the table down to a crawl.
Solved! Go to Solution.
Hi @arobinson ,
Apart from the suggestions below, you can use this simplified version of DAX code.
Measure =
VAR _selvalue =
SELECTEDVALUE ( 'Staffing Name Page'[Region] )
RETURN
SWITCH (
TRUE (),
_selvalue = "D1"
|| _selvalue = "D2"
|| _selvalue = "D3", ( [Communication Total] * .6 ) + ( [Productivity Total] * .4 ),
_selvalue = "A1"
|| _selvalue = "A2"
|| _selvalue = "A3", ( [Communication Total] * .8 ) + ( [Productivity Total] * .2 ),
_selvalue = "DG1", ( [Communication Total] * .6 ) + ( [Productivity Total] * .4 ),
_selvalue = "DG2", ( [Communication Total] * .7 ) + ( [Productivity Total] * .3 ),
_selvalue = "DG3"
|| _selvalue = "AH1", ( [Communication Total] * .6 ) + ( [Productivity Total] * .4 ),
_selvalue = "AH2", ( [Communication Total] * .4 ) + ( [Productivity Total] * .6 ),
_selvalue = "AH3", ( [Communication Total] * .3 ) + ( [Productivity Total] * .7 )
)
Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)
Hi @arobinson ,
Apart from the suggestions below, you can use this simplified version of DAX code.
Measure =
VAR _selvalue =
SELECTEDVALUE ( 'Staffing Name Page'[Region] )
RETURN
SWITCH (
TRUE (),
_selvalue = "D1"
|| _selvalue = "D2"
|| _selvalue = "D3", ( [Communication Total] * .6 ) + ( [Productivity Total] * .4 ),
_selvalue = "A1"
|| _selvalue = "A2"
|| _selvalue = "A3", ( [Communication Total] * .8 ) + ( [Productivity Total] * .2 ),
_selvalue = "DG1", ( [Communication Total] * .6 ) + ( [Productivity Total] * .4 ),
_selvalue = "DG2", ( [Communication Total] * .7 ) + ( [Productivity Total] * .3 ),
_selvalue = "DG3"
|| _selvalue = "AH1", ( [Communication Total] * .6 ) + ( [Productivity Total] * .4 ),
_selvalue = "AH2", ( [Communication Total] * .4 ) + ( [Productivity Total] * .6 ),
_selvalue = "AH3", ( [Communication Total] * .3 ) + ( [Productivity Total] * .7 )
)
Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)
Create a reference table that holds the [Communication Total] and [Productivity Total] coefficients for each region.
Link that table into your data model and let the data model do all the work.
1) learn how to use variables
https://docs.microsoft.com/en-us/power-bi/guidance/dax-variables
https://www.youtube.com/watch?v=9SV2VnYbgg4
2) do not use multiple nested IF, use SWITCH
https://docs.microsoft.com/en-us/dax/switch-function-dax
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |