Forum Discussion

alejandroezp's avatar
alejandroezp
Helper I
1 year ago
Solved

Using negation condition in switch function

Good morning,

 

I am trying to use a negative condition in a switch function. My idea is to assign a label to all the rows where appears a string.

I am using something like this example:

NOT(CONTAINS('Facturas','Facturas'[Comentario],"gratis")), "papo pepo",

 

The problem comes when this string assigns the result papo pepo when the condition is true and when it´s false.

How can i change the string to make the false results go to the next string of the function?

 

Cheers

  • Hi alejandroezp 

     

    You can try CONTAINSSTRING( ) that returns TRUE/FALSE directly in your SWITCH function. 

    SWITCH(
        TRUE(),
        CONTAINSSTRING('Facturas'[Comentario], "gratis"), "Free",
        CONTAINSSTRING('Facturas'[Comentario], "oferta"), "Discount",
        -- Add more as needed
        TRUE, "Other"
    )
    

     

5 Replies

  • Hi alejandroezp 

     

    Normally, switch(true) should help you to achieve that

     

    SWITCH(TRUE(),
    CONTAINSSTRING('Facturas','Facturas'[Comentario],"gratis"), "gratis_label", 
    [Your Next Condition], "label_for_next_condition", // This will be evaluated if 'gratis' was NOT found
    [Another Condition], "another_label",
    ...
    "Default Label"
    )

     

    If it is not working, do not hesistate to share a dummy sample of what you are trying to achieve

  • Hi alejandroezp 

     

    You can try CONTAINSSTRING( ) that returns TRUE/FALSE directly in your SWITCH function. 

    SWITCH(
        TRUE(),
        CONTAINSSTRING('Facturas'[Comentario], "gratis"), "Free",
        CONTAINSSTRING('Facturas'[Comentario], "oferta"), "Discount",
        -- Add more as needed
        TRUE, "Other"
    )
    

     

    • alejandroezp's avatar
      alejandroezp
      Helper I

      Good morning,

       

      Sorry for delay, i was testing the solutions. At the end, the solution added by MasonMA worked and it has solved my problem.

       

      Thank you for the support

      Cheers