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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Anonymous
Not applicable

Switch with multiple conditions

Hi all,

 

I have a new column definition [BedCount] written in DAX using several nested IF statements. I wanted to implement SWITCH to make things cleaner, but I couldn't wrap my head around how I would implement an AND in SWITCH. Any guideance on how to re-write this with SWITCH would be appreciated. I'd like to figure out how to do this as a Measure too, but was having trouble wrapping my head around the appropriate context. Having it added as a column "works" so the Measure piece is more about just getting better at Filter & Row context.

 

For more context, this column is currently added to the table 'prog_ProposeProg'. Basic star schema with the other two referenced tables having a direct relationship to 'prog_ProposeProgram'.

 

VAR SubCategory = RELATED(prog_CatSub[Name])
VAR Category = RELATED(prog_Categories[Name])

RETURN
    IF(
        AND(
            CONTAINSSTRING(SubCategory, "Acute"),
            CONTAINSSTRING(Category, "Inpatient")
        ),
        prog_ProposeProgram[Target Area] / [Acute Inpatient],
        
        IF(
            AND(
                CONTAINSSTRING(SubCategory, "Critical"),
                CONTAINSSTRING(Category, "Inpatient")
            ),
            prog_ProposeProgram[Target Area] / [Critical Bed],
            
            IF(
                AND(
                    CONTAINSSTRING(SubCategory, "Rehab"),
                    CONTAINSSTRING(Category, "Inpatient")
                ),
                prog_ProposeProgram[Target Area] / [Rehab Bed],
                BLANK()
        )
    )
)

 

1 ACCEPTED SOLUTION
Greg_Deckler
Community Champion
Community Champion

Use SWITCH(TRUE()...) like:

 

SWITCH(TRUE(),

  <condition1> && <condition2>,<result1>,

  <condition3> && <condition4>,<result2>

  <default result>

)



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
Greg_Deckler
Community Champion
Community Champion

Use SWITCH(TRUE()...) like:

 

SWITCH(TRUE(),

  <condition1> && <condition2>,<result1>,

  <condition3> && <condition4>,<result2>

  <default result>

)



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

duh! Thanks!

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

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