Уважаемые форумчане, подскажите, пожалуйста, как реализовать задачу объединения столбцов по условию. Даны таблицы, в которых частично отсутствуют заголовки столбцов. Столбцы с "пустыми" заголовками могут быть в разных местах. Таблица1
Alexander123, Я вижу в примере название столбцов обманывать не хорошо. Причём есть как Параметр так и столбец. Так что вам в итоге нужно? сливать к параметру столбец справа от параметра?
P.S. насколько мне известно в умной таблице если вы её используете для PQ не может быть "пустого заголовка". он может выглядить как пустой если там будет пробел и то только один столбец далее пойдёт нумерация 2 3 4 5
Прошу прощения, обновлю файл примера. Поторопился. Имеются запросы к листам, где в структуре есть столбцы с отсутствующими названиями. При формировании запроса в умной таблице появляются заголовки Столбец1 ... Столбецn. Да, все верно, нужно сливать к параметру столбец справа или несколько столбцов справа, однако в разных запросах расположение и количество столбцов может отличаться.
Вот пример обработки одной таблицы, он универсальный для таблиц такой структуры. Переделывайте его в функцию, и пропускайте все таблицы через функцию, после чего объединяйте обычным Table.Combine'ом.
Код
let
Source = Excel.CurrentWorkbook(){[Name="Таблица4"]}[Content],
ChangedType = Table.TransformColumnTypes( Source, List.Transform( Table.ColumnNames(Source), each {_, type text} ) ),
TransposedTable = Table.Transpose(ChangedType),
FilledDown = Table.FillDown(TransposedTable,{"Column1"}),
GroupedRows = Table.Group(FilledDown, {"Column1"}, {{"таб", each Table.FromColumns( List.Transform( Table.ToColumns( Table.RemoveColumns( _,{"Column1"}) ), each {Text.Combine( _, " ")} ) ), type table}}),
Expanded = Table.ExpandTableColumn(GroupedRows, "таб", {"Column1", "Column2", "Column3", "Column4", "Column5"}, {"Column1.1", "Column2", "Column3", "Column4", "Column5"}),
TransposedBack = Table.Transpose(Expanded),
PromotedHeaders = Table.PromoteHeaders(TransposedBack, [PromoteAllScalars=true])
in
PromotedHeaders