Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

DAX IF text contains

Hi Team,

 

I have Markets and i need output in status column,

 

DAX - if markets contains 40* then H else W

 

Pleas 

 

Thanks,

KV's

  • Hey Anonymous ,

     

    you should be able to solve that with a calculated column and the function CONTAINSSTRING:

    Status = IF( CONTAINSSTRING( myTable[Markets], "40" ), "H", "W" )

     

    If you need any help please let me know.
    If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
     
    Best regards
    Denis
     

6 Replies

  • selimovd's avatar
    selimovd
    Icon for Most Valuable Professional rankMost Valuable Professional

    Hey Anonymous ,

     

    you should be able to solve that with a calculated column and the function CONTAINSSTRING:

    Status = IF( CONTAINSSTRING( myTable[Markets], "40" ), "H", "W" )

     

    If you need any help please let me know.
    If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
     
    Best regards
    Denis
     
    • selimovd's avatar
      selimovd
      Icon for Most Valuable Professional rankMost Valuable Professional

      Hey Anonymous ,

       

      did it work with the calculated column I proposed?

      I'm curious if you could solve this issue 🙂

       

      If you need any help please let me know.
      If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
       
      Best regards
      Denis
       
    • Carrhill's avatar
      Carrhill
      Icon for Helper I rankHelper I

      Hey selimovd 

      Your response here really helped me, thank you!

       

      I need to add an AND statement, but it's not working. Can you advise me please?

       

      It would look something like this 

      IF (CONTAINS STRING (Table Y [Column], "A"), AND CONTAINS STRING (Table X [Column], "A"), "B",  "C")

       

      Thank you!

       

        

      • selimovd's avatar
        selimovd
        Icon for Most Valuable Professional rankMost Valuable Professional

        Hey Carrhill ,

         

        sure, you can combine them with the AND function:

        Status =
        IF (
            AND (
                CONTAINSSTRING ( 'Table Y'[Column], "A" ),
                CONTAINSSTRING ( 'Table X'[Column], "A" )
            ),
            "B",
            "C"
        )

         

        Or you can combine them with two &&:

        Status =
        IF (
            CONTAINSSTRING ( 'Table Y'[Column], "A" ) && CONTAINSSTRING ( 'Table X'[Column], "A" ),
            "B",
            "C"
        )
        

         

        Both should work the same way.

         

        If you need any help please let me know.
        If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍

        Best regards
        Denis

        Blog: WhatTheFact.bi
        Follow me: twitter.com/DenSelimovic

  • Anonymous's avatar
    Anonymous
    Not applicable

    Can you make this with multiple items for example by adding in || althouhg I get and error saying cannot convert value of type text to type true and false

    Status = IF( CONTAINSSTRING( myTable[Markets], "40"||"50" ), "H", "W" )

     

  • Joining this thread . im trying to do the same but struggling . i also have a contains. 

    i want to check if a value is in one column and another value in a different column. the tables have a direct relationship via another column :

    Column 2 = IF('PM Matrix'[Vendor Only] = "Y" ,IF(CONTAINSSTRING(RELATED('Maint  Intervals & Job Plan'[Provider Path (Reference Only)]),"VENDOR"),"Y","N"))
     
    so if the column on PM Matrix called Vendor is "Y", then, If Provider path on Maint intervals contains the word "VENDOR", then display a "Y", otherwise display a "N"
     
    any help