Forum Discussion
Power Query find matching and non matching values
I have a orders table
each order has multiple items ordered . So one order can have 5 items ordered another can have 4.
i have color column too in the table .
if all the items in the order are of the same color then show as samecolor else show differentcolor.
If any of the one item is of different color then show differentcolor.
how should I achieve this in power query ?
- Anonymous2 years ago
Hi Anonymous
You can put the following code to advanced editor in power query to as a reference.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSjRU0lECYfei1NQ8pVgdqJARppAxppAJppApilCSEYbxYCGo8ZUIEWMMERMMEVMMETO4SCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [OrderId = _t, ItemID = _t, Color = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"OrderId", type text}, {"ItemID", Int64.Type}, {"Color", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"OrderId"}, {{"MinColor", each List.Min([Color]), type nullable text}, {"MaxColor", each List.Max([Color]), type nullable text}, {"Data", each _, type table [OrderId=nullable text, ItemID=nullable number, Color=nullable text]}}), #"Expanded Data" = Table.ExpandTableColumn(#"Grouped Rows", "Data", {"ItemID", "Color"}, {"ItemID", "Color"}), #"Added Custom" = Table.AddColumn(#"Expanded Data", "Custom", each if [MinColor]=[MaxColor] then "same color" else " different color"), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"MinColor", "MaxColor"}) in #"Removed Columns"Output
Best Regards!
Yolo Zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
3 Replies
- Syndicate_AdminAdministrator
Please provide sample data (with sensitive information removed) that covers your issue or question completely, in a usable format (not as a screenshot). Leave out anything not related to the issue.
If you are unsure how to do that please refer to https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216
Please show the expected outcome based on the sample data you provided.
If you want to get answers faster please refer to https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523 - wdx223_DanielCommunity Champion
1 group your table by order id, and distinct count the item colors, if the count =1 then samecolor else differentcolor
2 merge above table with your original one to create a new column
- AnonymousNot applicable
Hi Anonymous
You can put the following code to advanced editor in power query to as a reference.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSjRU0lECYfei1NQ8pVgdqJARppAxppAJppApilCSEYbxYCGo8ZUIEWMMERMMEVMMETO4SCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [OrderId = _t, ItemID = _t, Color = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"OrderId", type text}, {"ItemID", Int64.Type}, {"Color", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"OrderId"}, {{"MinColor", each List.Min([Color]), type nullable text}, {"MaxColor", each List.Max([Color]), type nullable text}, {"Data", each _, type table [OrderId=nullable text, ItemID=nullable number, Color=nullable text]}}), #"Expanded Data" = Table.ExpandTableColumn(#"Grouped Rows", "Data", {"ItemID", "Color"}, {"ItemID", "Color"}), #"Added Custom" = Table.AddColumn(#"Expanded Data", "Custom", each if [MinColor]=[MaxColor] then "same color" else " different color"), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"MinColor", "MaxColor"}) in #"Removed Columns"Output
Best Regards!
Yolo Zhu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.