Чтобы рассчитать текущее средневзвешенное значение, вам просто нужно сгенерировать столбец промежуточных итоговых затрат (Цена х Количество) и столбец количественного итогового итога, а затем разделить один на другой:
Существуют различные способы сделайте это, и вам не нужно делать это, добавляя столбцы в таблицу, но я сделал это, чтобы вы могли изучить соответствующие шаги.
M-код
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Month", type text}, {"Quantity", Int64.Type}, {"Price", type number}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Cost", each [Quantity]*[Price]),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "runTotCost", each List.Sum(List.Range(#"Added Custom"[Cost],0,[Index]))),
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "runTotQuant", each List.Sum(List.Range(#"Added Custom"[Quantity],0,[Index]))),
#"Added Custom3" = Table.AddColumn(#"Added Custom2", "Weighted Average", each [runTotCost] / [runTotQuant]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom3",{"Index", "Cost", "runTotCost", "runTotQuant"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Removed Columns",{{"Weighted Average", type number}})
in
#"Changed Type1"
Для лучшего понимания я предлагаю вам выполнить целочисленный rnet поиск методов генерации промежуточных итогов. Существуют и другие методы, более сложные, но более эффективные.