Буду очень признателен, если сможете помочь и подсказать с решением следующей проблемы в PQ: ежемесячно выгружается файл со списком деталей (количество может доходить до нескольких тысяч) и списком столбцов, которые классифицируют затраты по деталям (материалы, логистика, производство). Нужно сгруппировать эти затраты путем сложения значений по столбцам в каждой строке. Основные проблемы: 1) Порядок следования столбцов при каждой выгрузке меняется 2) Количество столбцов также может меняться и находится в диапазоне (50-200 столбцов).
Как Вы понимаете, вручную создавать настраиваемые столбцы и постоянно переписывать условия не удобно и смысл автоматизации полностью пропадает. Вопрос% как можно создать три столбца, позволяющие суммировать столбцы по условию. Описания столбцов (материалы, логистика, производство) никогда не меняются.
let
Source = Excel.CurrentWorkbook(){[Name="tbl"]}[Content],
Custom1 = Table.ToColumns(Source),
#"Removed Top Items" = Table.FromRows(List.Skip(Custom1,4)),
a = Table.Group(#"Removed Top Items", {"Column2"}, {{"a", each Table.AddColumn(Table.Skip(
Table.FromColumns(Table.ToRows(_)),2),"sum", each List.Sum(Record.FieldValues(_)))[sum]}}),
#"Filtered Rows" = Table.SelectRows(a, each [Column2] <> null and [Column2] <> ""),
Custom2 = let a=#"Filtered Rows" in Table.FromColumns(List.Transform(List.FirstN(Custom1,4), each
List.Skip(_,2))&a[a],{"a","b","c","d"}&List.Transform(a[Column2], each "Сумма "&_))
in
Custom2
Огромное Вам спасибо за предложенные решения. Попробую сам разобраться как работают Ваши коды. К сожалению, я только начинаю разбираться в особенностях работы языка М для PQ, поэтому пока для меня коды выглядят не так просто.