Вы можете добавить пользовательский столбец для расчета объема сравнения, посмотрев объем в последнюю дату перед датой текущей строки для этого значения категории.Удалите столбец Volume
, переименуйте CalcType
из «Индивидуального» в «Сравнение», а затем добавьте эту таблицу в исходную таблицу.
Вот как будет выглядеть код М.
let
Source = <Insert Source Here>,
#"Changed Type" = Table.TransformColumnTypes(Source,
{{"Date", type date}, {"Category", type text},
{"CalcType", type text}, {"Volume", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Comparison", each
try Table.Max(Table.SelectRows(#"Changed Type",
(C) => C[Date] < [Date] and C[Category] = [Category]), "Date")[Volume]
otherwise null, Int64.Type),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Volume"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Comparison","Volume"}}),
#"Replaced Value" = Table.ReplaceValue(#"Renamed Columns",
"Individual","Comparison",Replacer.ReplaceText,{"CalcType"}),
#"Filtered Rows" = Table.SelectRows(#"Replaced Value", each ([Volume] <> null)),
#"Appended Query" = Table.Combine({#"Changed Type", #"Filtered Rows"})
in
#"Appended Query"