Вставьте приведенный ниже код в Home ... Advanced Editor, сохраните и назовите его fnRunningSum
Это создаст функцию для создания совокупного промежуточного итога для столбца с именем Amount
(MyTable as table) =>
let Source = Table.Buffer(MyTable),
MyColumn="Amount",
TableType = Value.Type(Table.AddColumn(Source, "Cumul", each null, type number)),
Cumulative = List.Skip(List.Accumulate(Table.Column(Source,MyColumn),{0},(cumulative,MyColumn) => cumulative & {List.Last(cumulative) + MyColumn})),
Cumu = Table.FromColumns(Table.ToColumns(Source)&{Cumulative},TableType)
in Cumu
Загрузите ваши данные в powerquery, здесь предполагается, что они находятся в диапазоне Table1. Вставьте код ниже в Home ... Advanced Editor ...
Что он делает (1), добавляет новый столбец, Result-Schedule (2) Группа по коду продукта и кумулятивно суммирует новый столбец (3 ) Разверните, чтобы вернуть столбцы
letSource = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Amount", each [Result]-[Schedule]),
#"Grouped Rows" = Table.Group(#"Added Custom" , {"Product Code"}, {{"AllData", fnRunningSum}}),
#"Expanded AllData" = Table.ExpandTableColumn(#"Grouped Rows", "AllData", {"Date", "Result", "Schedule", "Cumul"}, {"Date", "Result", "Schedule", "Different"})
in #"Expanded AllData"