Forum Discussion

sanjanarama's avatar
sanjanarama
Resolver I
4 years ago
Solved

multiple values in a column comparison

I have two tables as below with common attribute as ID.

I wanted to compare names column from two tables if they match or not. Data in the columns are comma seperated values and can be present anywhere, 

IDparent Names
1Apple, Orange
2Lemon,grapes, Fruit
3Hello, Fridge, Door
4balcony
6tree, time

 

IDFamily Names
2Fruit, Lemon, Grapes
3fridge, hello, Door
6tree



Outcome :

IDMatch result
1no match
2true match
3true match
4no match
6partial match





  • Hi sanjanarama ,

     

    For this kind of output, judging by looping through the string may not be possible in powerbi. However, you can use a function like find to find out if the corresponding field exists in the list.

    1 = 
    IFERROR ( FIND 
        ( "Apple", 
            Table1[parent Names] ), 
                BLANK () 
        )
        && 
        IFERROR ( FIND 
        ( "Orange", 
            Table1[parent Names] ),
                 BLANK () )


    Best Regards,
    Henry


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 Replies

  • Hi!

     

    If you want three types of results, first of all, you should separate the columns in just one item. 

    Since the table has comma seperated values, you could open Power Query and separate by delimiter.

     

    Then will be easier to do what you want.

     

    Regards!

  • v-henryk-mstf's avatar
    v-henryk-mstf
    Community Support

    Hi sanjanarama ,

     

    For this kind of output, judging by looping through the string may not be possible in powerbi. However, you can use a function like find to find out if the corresponding field exists in the list.

    1 = 
    IFERROR ( FIND 
        ( "Apple", 
            Table1[parent Names] ), 
                BLANK () 
        )
        && 
        IFERROR ( FIND 
        ( "Orange", 
            Table1[parent Names] ),
                 BLANK () )


    Best Regards,
    Henry


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.