Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hello,
I have a formula I am trying to clean up and it has me stumped. The original formula is:
Reason Codes =
IF('Version'[This vs That] = "That",
IF('Version'[Reason]= "0","No Exception",
IF('Version'[Reason]= BLANK(),"No Exception",
IF('Version'[Reason]="1","Error",
IF('Version'[Reason] = "2","Good",
IF('Version'[Reason]= "3","Other",
)))))
I have created the following switch formula:
Thank you in advance!
Solved! Go to Solution.
Like this? (Change the order as needed.)
Reason Code =
SWITCH (
TRUE (),
ISBLANK ( 'Version'[Reason] ), "No Exception",
'Version'[This vs That] <> "That", BLANK (),
'Version'[Reason] IN { 0 }, "No Exception",
'Version'[Reason] IN { 1, 75 }, "Error",
'Version'[Reason] IN { 2, 51 }, "Good",
'Version'[Reason] IN { 3, 100 }, "Other"
)
You can do it in one big SWITCH
Reason Codes =
SWITCH (
TRUE(),
'Version'[This vs That] = "That" && 'Version'[Reason] = "0", "No Exception",
'Version'[This vs That] = "That" && 'Version'[Reason] = BLANK(), "No Exception",
'Version'[This vs That] = "That" && 'Version'[Reason] = "1", "Error",
'Version'[This vs That] = "That" && 'Version'[Reason] = "2", "Good",
'Version'[This vs That] = "That" && 'Version'[Reason] = "3", "Other"
)
Or only apply the switch to the Reason part:
Reason Codes =
IF (
Version[This vs That] = "That",
SWITCH (
Version[Reason],
BLANK (), "No Exception",
"0", "No Exception",
"1", "Error",
"2", "Good",
"3", "Other"
)
)
OK, but as the data set gets larger, it will be become just as large as the old dax formula. I was hoping to have something to tighten up the code.
Ex:
Using IN works fine. How about this?
Reason Code =
SWITCH (
TRUE (),
'Version'[This vs That] <> "That", BLANK (),
'Version'[Reason] IN { 0 }, "No Exception",
'Version'[Reason] IN { 1, 75 }, "Error",
'Version'[Reason] IN { 2, 51 }, "Good",
'Version'[Reason] IN { 3, 100 }, "Other"
)
Is there a way to make blank a no exception because as shown in the example (and the larger actual dataset) there are quite a few blanks (infuriating but here we are)?
Like this? (Change the order as needed.)
Reason Code =
SWITCH (
TRUE (),
ISBLANK ( 'Version'[Reason] ), "No Exception",
'Version'[This vs That] <> "That", BLANK (),
'Version'[Reason] IN { 0 }, "No Exception",
'Version'[Reason] IN { 1, 75 }, "Error",
'Version'[Reason] IN { 2, 51 }, "Good",
'Version'[Reason] IN { 3, 100 }, "Other"
)
Works great! Thank you!
User | Count |
---|---|
116 | |
73 | |
62 | |
50 | |
46 |
User | Count |
---|---|
173 | |
123 | |
60 | |
59 | |
57 |