Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
Earl40
Helper I
Helper I

Need help with my custom column switch statement based on multiple criteria

Hello,

 

Im trying to create a custom column that populates a certain value based on multiple criteria (values in other columns). I want it to populate the word "New Case" if the "status column"  doesnt equal "Return" AND the value column equals HIGH and  the state  is not one of 5 states. I tried the formula below and it isnt working. any help would be appreciated

 

Switch(

  TREU(),

                Table name[Status column]<>"Return" && Table name[value column] = " HIGH" && Table name[Status column] ="NY" || Table name[Status column] ="CA" || Table name[Status column] ="NJ" || Table name[Status column] ="MD" || Table name[Status column] ="TX","Normal","New Case")

 

 

1 ACCEPTED SOLUTION
vicky_
Super User
Super User

IF( Table name[Status column]<>"Return" && Table name[value column] = " HIGH" && NOT(Table name[Status column] in {"NY", "CA", "NJ", "MD", "TX"}) ,"Normal","New Case")

OR 

IF(Table name[Status column]<>"Return" && Table name[value column] = " HIGH" && (Table name[Status column] ="NY" || Table name[Status column] ="CA" || Table name[Status column] ="NJ" || Table name[Status column] ="MD" || Table name[Status column] ="TX"),"Normal","New Case")

No need for the switch statement if there's only 2 outcomes.

You can rewrite the Status parts with the in operator to improve readability - read more here: https://www.sqlbi.com/articles/the-in-operator-in-dax/

Or just surround the whole thing with a brackets so that they are evaluated as a group

View solution in original post

1 REPLY 1
vicky_
Super User
Super User

IF( Table name[Status column]<>"Return" && Table name[value column] = " HIGH" && NOT(Table name[Status column] in {"NY", "CA", "NJ", "MD", "TX"}) ,"Normal","New Case")

OR 

IF(Table name[Status column]<>"Return" && Table name[value column] = " HIGH" && (Table name[Status column] ="NY" || Table name[Status column] ="CA" || Table name[Status column] ="NJ" || Table name[Status column] ="MD" || Table name[Status column] ="TX"),"Normal","New Case")

No need for the switch statement if there's only 2 outcomes.

You can rewrite the Status parts with the in operator to improve readability - read more here: https://www.sqlbi.com/articles/the-in-operator-in-dax/

Or just surround the whole thing with a brackets so that they are evaluated as a group

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.