Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

if Statement with conditions from list

Dear community members,

 

Need support in Power Query data transformation.

 

I have a column of Product Type column 

 

Product Type
Books
Furniture
Technology
Office Supplies
Books
Books
Books
Office Supplies
Technology
Office Supplies

 

The objective is to add one conditional column which takes input from a list to return required value

List:

lstPrimeProduct

Furniture
Office Supplies

 

Output:

Product TypePrime Product
Books 
FurnitureY
Technology 
Office SuppliesY
Books 
Books 
Books 
Office SuppliesY
Technology 
Office SuppliesY

 

Please advise.

 

Thanks

vir                                             

  • See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcsrPzy5WitWJVnIrLcrLLCktSgXzQlKTM/Lyc/LTK8Fc/7S0zORUheDSgoKczFSIBoRWbCxsOggZGgsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Product Type" = _t]),
        lstPrimeProduct = {"Furniture", "Office Supplies"},
        #"Added Custom" = Table.AddColumn(Source, "Prime Product", each if List.Contains(lstPrimeProduct,[Product Type]) then "Y" else null)
    in
        #"Added Custom"

     

1 Reply

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcsrPzy5WitWJVnIrLcrLLCktSgXzQlKTM/Lyc/LTK8Fc/7S0zORUheDSgoKczFSIBoRWbCxsOggZGgsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Product Type" = _t]),
        lstPrimeProduct = {"Furniture", "Office Supplies"},
        #"Added Custom" = Table.AddColumn(Source, "Prime Product", each if List.Contains(lstPrimeProduct,[Product Type]) then "Y" else null)
    in
        #"Added Custom"