Forum Discussion

PhyuLayKhine333's avatar
3 years ago
Solved

Merge rows based on criteria

I want to merge the rows based on ID . 

This is my raw data table.

IDModelPriceQuantity
OVSIL22122018834-1A2330
OVSIL22122018834-1B2330
OVSIL22122018834-2C2760
OVSIL22122018834-2D2760

 

And the the table i would like to get is;

IDModelPriceQuantity
OVSIL22122018834-1A,B23

30

OVSIL22122018834-2C,D2760
  • Hi PhyuLayKhine333 ,

     

    You cant try this:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8g8L9vQxMjI0MjIwtLAwNtE1VNJRcgRiI2MgYWygFKuDQ5ETIUVGQDlnkCJzIGGGR5ELsqJYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Model = _t, Price = _t, Quantity = _t]),
        #"Grouped Rows" = Table.Group(Source, {"ID", "Price", "Quantity"}, {{"Rows", each _, type table [ID=nullable text, Model=nullable text, Price=nullable text, Quantity=nullable text]}}),
        #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Model", each Table.Column([Rows],"Model")),
        #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Model", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
        #"Removed Columns" = Table.RemoveColumns(#"Extracted Values",{"Rows"})
    in
        #"Removed Columns"

     

     

1 Reply

  • latimeria's avatar
    latimeria
    Solution Specialist

    Hi PhyuLayKhine333 ,

     

    You cant try this:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8g8L9vQxMjI0MjIwtLAwNtE1VNJRcgRiI2MgYWygFKuDQ5ETIUVGQDlnkCJzIGGGR5ELsqJYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Model = _t, Price = _t, Quantity = _t]),
        #"Grouped Rows" = Table.Group(Source, {"ID", "Price", "Quantity"}, {{"Rows", each _, type table [ID=nullable text, Model=nullable text, Price=nullable text, Quantity=nullable text]}}),
        #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Model", each Table.Column([Rows],"Model")),
        #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Model", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
        #"Removed Columns" = Table.RemoveColumns(#"Extracted Values",{"Rows"})
    in
        #"Removed Columns"