Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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
User | Count |
---|---|
54 | |
23 | |
19 | |
18 | |
17 |
User | Count |
---|---|
91 | |
87 | |
47 | |
28 | |
22 |