PowerQuery:组合在“元表”中配置的表

Posted

技术标签:

【中文标题】PowerQuery:组合在“元表”中配置的表【英文标题】:PowerQuery: Combining tables configured in a "meta-table" 【发布时间】:2014-12-10 08:38:41 【问题描述】:

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

我知道我可以在不加载它们的情况下将每个表导入 PowerQuery(并添加带有表名的列) - 然后使用 Table.Combine 组合它们。

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

【问题讨论】:

【参考方案1】:

假设表的名称存储在 Table name 列中名为 MetaTable 的表中,下面的 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

【讨论】:

以上是关于PowerQuery:组合在“元表”中配置的表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Lua 函数上应用元表以启用它们之间的自定义运算符?

Excel 表之间的组合的 Power Query 是啥?

Dax vs M(power query)表组合大表的最佳实践

lua元表元方法

根据填充的表组合框创建查询

当它引用与表单不同的表时如何更新组合框