Forum Discussion

smko's avatar
smko
Helper I
4 years ago
Solved

Getting line item total without changing granularity

[OrderID] and [Line Amount] are original columns, Im trying to calculate the [Calculated Total]. My current method is duplicating the table, group by [OrderID] sum [Line Amount], then merge back to t...
  • ponnusamy's avatar
    4 years ago

    smko : If you want to use 'Group by' function in Power Query.

     

    let
    Source = Excel.Workbook(File.Contents("C:\Users\ponnu\OneDrive - Fresh Direct\Forum Test Files\total by group id.xlsx"), null, true),
    Table1_Table = Source{[Item="Table1",Kind="Table"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(Table1_Table,{{"OrderID", Int64.Type}, {"Line Amount", Int64.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"OrderID"}, {{"Calculated Total", each List.Sum([Line Amount]), type nullable number}, {"OtherRows", each _, type table [OrderID=nullable number, Line Amount=nullable number]}}),
    #"Expanded OtherRows" = Table.ExpandTableColumn(#"Grouped Rows", "OtherRows", {"Line Amount"}, { "OtherRows.Line Amount"}),
    #"Reordered Columns" = Table.ReorderColumns(#"Expanded OtherRows",{"OrderID", "OtherRows.Line Amount", "Calculated Total"})
    in
    #"Reordered Columns"

     

    I created test data like yours

     

     

     

    Use group by and creat Sum of lineitem by OrderID

     

     

    Expand the Row from previous step to get other columns

     

     

     

     

    If this post helps, then please consider Accepting it as the solution, Give Kudos to motivate the contributors.