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 函数上应用元表以启用它们之间的自定义运算符?