PowerQuery:组合在“元表”中configuration的表

我有一个文件中共有5列的30个不同的Excel表。 我想将它们合并到一个表中,这5列以及表名的一列。

我知道我可以将每个表导入PowerQuery而不加载它们(并添加一个包含表名的列),然后使用Table.Combine合并它们。

然而,我想知道是否有可能有另一个有30行的表,描述了要导入的表的名称 – 并使用更复杂的M查询运行此表的导入 – 类似于使用Binary.Combine导入多个CSV文件…

假设表的名称存储在名称为Table name名为MetaTableTable name ,下面的PowerQuery脚本将执行该作业。 为了插入它,使用PowerQuery选项卡,从其他来源 – >空白查询 – >查看选项卡 – >高级编辑器,并插入以下文本:

 let AllTables = Excel.CurrentWorkbook(), TableConf = AllTables{[Name="MetaTable"]}[Content], TableConfWithContent = Table.NestedJoin(TableConf,{"Table name"},AllTables,{"Name"},"Table"), Expand1 = Table.ExpandTableColumn(TableConfWithContent, "Table", {"Content"}, {"Table.Content"}), Expand2 = Table.ExpandTableColumn(Expand1, "Table.Content", {"Column Name1", "Column Name2", "Column Name3", "Column Name4", "Column Name5"}, {"Column Name1", "Column Name2", "Column Name3", "Column Name4", "Column Name5"}) in Expand2