Forum Discussion

manuelfigueira's avatar
6 years ago
Solved

If Condition using SWITCH(TRUE)

Hello Everyone,

 

I'm trying to create a IF condition (Calculated column) but seems my DAX is not working, any idea why PBI says "DAX Comparison Operations do not support comparing values of type integer with values of type Text. "",

 

Is there any other way to use IF functions below?

 

Thanks a lot!

 

 

 

Action = SWITCH(TRUE(),
[Split] = "FOOD", "RELEASE",
[Status] = "Unmatched Standard", AND('SAP'[Age] < "91", "HOLD"),
[Status] = "Unmatched Standard", AND('SAP'[Age] > "90", AND('SAP'[Age] < "181", "TIMING")),
BLANK())
  • az38's avatar
    az38
    6 years ago
    manuelfigueira
    Maybe you need smth like this. If it doesn’t help, please, share example of your data and desired result in order to help you

    Action = SWITCH(
    TRUE(),
    [Split] = "FOOD", "RELEASE",
    And([Status] = "Unmatched Standard", 'SAP'[Age] < 91), "HOLD",
    And([Status] = "Unmatched Standard", AND('SAP'[Age] > 90, 'SAP'[Age] < 181)), "TIMING",
    BLANK())

4 Replies

  • az38's avatar
    az38
    Community Champion

    hi manuelfigueira 

    try without quotas

    Action = SWITCH(TRUE(),
    [Split] = "FOOD", "RELEASE",
    [Status] = "Unmatched Standard", AND('SAP'[Age] < 91, "HOLD"),
    [Status] = "Unmatched Standard", AND('SAP'[Age] > 90, AND('SAP'[Age] < 181, "TIMING")),
    BLANK())

    do not hesitate to give a kudo to useful posts and mark solutions as solution

    LinkedIn

    • manuelfigueira's avatar
      manuelfigueira
      Helper II

      Hi az38 

       

      Thank you very much for the below! I tried, the columns [Age] are Text so the quotas are alright, but I believe is there something related with the function itself, 

       

      The original function is this:

       

      =IF(SAP[SPLIT]=""FOOD"",""RELEASE"",

        IF(AND(SAP[Status]=""Unmatched Standard"", SAP[Age]<91),""HOLD"",

        IF(AND(SAP[Status]=""Unmatched Standard"",AND(SAP[Age]>90,SAP[Afe]<181)),""TIMING"",""RELEASE"")))"

       

      I think part the solution is how do you create a logic chain with the above?

      • az38's avatar
        az38
        Community Champion
        manuelfigueira
        Maybe you need smth like this. If it doesn’t help, please, share example of your data and desired result in order to help you

        Action = SWITCH(
        TRUE(),
        [Split] = "FOOD", "RELEASE",
        And([Status] = "Unmatched Standard", 'SAP'[Age] < 91), "HOLD",
        And([Status] = "Unmatched Standard", AND('SAP'[Age] > 90, 'SAP'[Age] < 181)), "TIMING",
        BLANK())