Forum Discussion
Anonymous
4 years agoNot applicable
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...
- 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"
Vijay_A_Verma
4 years agoMost Valuable Professional
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"Anonymous
4 years agoNot applicable
Hello, thank you it works great.
I learned some news functions thanks to you
Have a nice day!