Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Conditionnal Column

Hello, i have a table like this.     The column that we need here to create the personnalized column are : Criteria1_A Criteria1_B Criteria1_C Criteria1_D Criteria1_E       So...
  • Vijay_A_Verma's avatar
    4 years ago

    Use below formula in a custom column

    = [l=List.Distinct({[Criteria1_A],[Criteria1_B],[Criteria1_C],[Criteria1_D],[Criteria1_E]}),
    Result = if List.IsEmpty(List.Difference(l,{0,null})) then 
    "OK" else 
    if List.Count(List.RemoveNulls(l))=1 then "Same" else
    if List.Count(List.Select(List.RemoveNulls(l),each _=0))>0 and List.Count(List.RemoveItems(l,{0,null}))>0 then "Optimization" else "Different"
    ][Result]

    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("i45WMlTSUTLAwLE60UpGQBYKAgkaoymFiZsAGYYGBlhJsAJT7FJQWTMgw9QARiBJmKOJQYUtsJoGMwGkwhKHHNQAQ6wyMElDVElkKSOsNiPMNcZpL9BdsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Product ID" = _t, Criteria1_A = _t, Criteria1_B = _t, Criteria1_C = _t, Criteria1_D = _t, Criteria1_E = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Product ID", Int64.Type}, {"Criteria1_A", Int64.Type}, {"Criteria1_B", Int64.Type}, {"Criteria1_C", Int64.Type}, {"Criteria1_D", Int64.Type}, {"Criteria1_E", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Personalized Column", each [l=List.Distinct({[Criteria1_A],[Criteria1_B],[Criteria1_C],[Criteria1_D],[Criteria1_E]}),
    Result = if List.IsEmpty(List.Difference(l,{0,null})) then 
    "OK" else 
    if List.Count(List.RemoveNulls(l))=1 then "Same" else
    if List.Count(List.Select(List.RemoveNulls(l),each _=0))>0 and List.Count(List.RemoveItems(l,{0,null}))>0 then "Optimization" else "Different"
    ][Result])
    in
        #"Added Custom"