Все таблицы, которые вы хотите связать вместе в своем запросе, не обязательно должны иметь одинаковую структуру (имена столбцов). Вот решение для этого случая.
Вы должны написать собственный М-код. В качестве первого шага используйте функцию Excel.CurrentWorkbook .
Вот M-код, который вы можете поместить в свой редактор (имя запроса в моем примере «OutputTable» -> будет заменено в приведенном ниже коде!):
let Source = Excel.CurrentWorkbook(), // Filter out the table (= your Query Name) which will result as output #"Filtered Rows" = Table.SelectRows(Source, each ([Name] <> "OutputTable")), // Bring the table name as 1st column #"Reordered Columns" = Table.ReorderColumns(#"Filtered Rows",{"Name", "Content"}), // Rename the "Name" column to prevent conflict with next steps #"Renamed Columns" = Table.RenameColumns(#"Reordered Columns",{{"Name", "TableName"}}), // Find out all column names present in Content tables #"all table column name" = List.Accumulate(#"Renamed Columns"[Content], {}, (state, current) => List.Union()), // Dynamically expand all columns #"Expanded " = Table.ExpandTableColumn(#"Renamed Columns", "Content", #"all table column name") in #"Expanded "
Шаг # «имя столбца всей таблицы» вдохновлен этим ответом на Stackoverflow.