Forum Discussion

gpiero's avatar
gpiero
Skilled Sharer
7 years ago
Solved

Help to use LIst.Contains()

 

Hi,

 

I am trying to explore how to use List.Contains without results.

I would like to define list of Customer Code List.Contains() instead of write a lot of rows with "or".

The code below does not produce any error, but I do not get the proper result.

 

Could someon help me to understand how to solve this issue?


Regards

 

 

#"Added Conditional Column" = Table.AddColumn(#"Changed Type1", "CS_DLV_EUR1", each if ([Delivery Type] = "ZSDS"
                                                                                           or  [Delivery Type] = "ZSPD")
                                                                                           and [Customer Code] = "32"
                                                                                   then true
                                                                                   /* {248, 129, 936, 215, 253, 245, 1043, 1439, 127, 1032, 217, 218, 224, 212, 32, 1033, 1495, 202, 207, 307, 1031, 252, 306*/        
                                                                                   else if ([Delivery Type] = "ZSDS"
                                                                                           or  [Delivery Type] = "ZSPD")        
                                                                                           and [Customer Code] = "149" 
                                                                                           and [Code Add.Goods] = List.Contains({"Code Add.Goods"}, Text.From({1033, 1495, 32, 300001}))
                                                                                   then true
                                                                                   else false),

 

  • Hi gpiero 

    It is easy with DAX,

    Create a calculated column

    Column =
    IF (
        [Delivery Type] IN { "ZSDS", "ZSPD" }
            && [Customer Code] = 32,
        TRUE (),
        IF (
            [Delivery Type] IN { "ZSDS", "ZSPD" }
                && [Customer Code] = 149
                && [Code Add.Goods] IN { 1033, 1495, 32, 300001 },
            TRUE ()
        )
    )
    

    Assume [Customer Code] and [Code Add.Goods] are of number type not text,

    If they are text, replace [Customer Code] = 32 with [Customer Code] = "32",

    [Code Add.Goods] IN { 1033, 1495, 32, 300001 } with [Code Add.Goods] IN { "1033", "1495", "32", "300001" }.

     

    Best Regards
    Maggie

     

    Community Support Team _ Maggie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 Replies

  • v-juanli-msft's avatar
    v-juanli-msft
    Community Support

    Hi gpiero 

    It is easy with DAX,

    Create a calculated column

    Column =
    IF (
        [Delivery Type] IN { "ZSDS", "ZSPD" }
            && [Customer Code] = 32,
        TRUE (),
        IF (
            [Delivery Type] IN { "ZSDS", "ZSPD" }
                && [Customer Code] = 149
                && [Code Add.Goods] IN { 1033, 1495, 32, 300001 },
            TRUE ()
        )
    )
    

    Assume [Customer Code] and [Code Add.Goods] are of number type not text,

    If they are text, replace [Customer Code] = 32 with [Customer Code] = "32",

    [Code Add.Goods] IN { 1033, 1495, 32, 300001 } with [Code Add.Goods] IN { "1033", "1495", "32", "300001" }.

     

    Best Regards
    Maggie

     

    Community Support Team _ Maggie Li
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • gpiero's avatar
      gpiero
      Skilled Sharer

      v-juanli-msft 

      Many thanks for solution.

      Yes, it is clear, in DAX we can do in this way.

       

      I only wanted to understand how to replicate the same in Power Query.

       

      Thanks again