Forum Discussion

manuelfigueira's avatar
6 years ago
Solved

SWITCH condition with ELSE conditional

Hello Everyone!

 

I have a chain of conditions extracted from a macro and I'm trying to coverted into DAX by using SWITCH (TRUE) function, and somehow is not working as the last condition is kind of "If none of the conditions happen, then Release" but I'm not sure how to build all conditions together. Below are the conditions:

 

1.) IF('348910'[BU_CALC] = "FOOD","RELEASE",
2.) IF(AND('348910'[Status_SAP] = "Unmatched Standard" ,'348910'[Age] < "91"),"HOLD",
3.) IF(AND('348910'[Status_SAP] = "Unmatched Standard",AND('348910'[Age] > "90", '348910'[Age] < "181")),"TIMING",
4.) IF none of the above "RELEASE"
 
On my head the DAX will be something like that. Even I'm not sure if the && works well on this chain of conditions.
 
Actual = SWITCH(TRUE(),
'348910'[BU_CALC] = "FOOD","RELEASE",
'348910'[Status_SAP] = "Unmatched Standard" && '348910'[Age] < "91","HOLD",
'348910'[Status_SAP] = "Unmatched Standard" && '348910'[Age] > "90" && '348910'[Age] < "181","TIMING",
if not "RELEASE"
BLANK())
 
Many thanks!!
  • manuelfigueira try this, you have everything except last line to catch all

     

    Would appreciate Kudos 🙂 if my solution helped.

     

     

     

    SWITCH(TRUE(),
    '348910'[BU_CALC] = "FOOD", "RELEASE",
    '348910'[Status_SAP] = "Unmatched Standard" && '348910'[Age] < "91", "HOLD",
    '348910'[Status_SAP] = "Unmatched Standard" && '348910'[Age] > "90" && '348910'[Age] < "181", "TIMING",
    "RELEASE"
    )

     

     

3 Replies

  • manuelfigueira try this, you have everything except last line to catch all

     

    Would appreciate Kudos 🙂 if my solution helped.

     

     

     

    SWITCH(TRUE(),
    '348910'[BU_CALC] = "FOOD", "RELEASE",
    '348910'[Status_SAP] = "Unmatched Standard" && '348910'[Age] < "91", "HOLD",
    '348910'[Status_SAP] = "Unmatched Standard" && '348910'[Age] > "90" && '348910'[Age] < "181", "TIMING",
    "RELEASE"
    )

     

     

    • manuelfigueira's avatar
      manuelfigueira
      Helper II

      You are a hero parry2k !

       

      Quick question for you.- What difference does it makes end SWITCH using the sentence "Blank ())" at the end or not using it? 

      • parry2k's avatar
        parry2k
        Super User

        manuelfigueira if you don't put in catch all, it will return BLANK() , assume it is like  null. not sure if this is what you are asking.