我不确定这是否可能,但事情是这样的:
我在包含库存列表的各个工作表中有几个表,我还有另一个表,其中有一个表,它根据特定的标准合并它们。
问题是,如果我创建了一个新的库存类别,我会创建一个具有自己的库存列表的新选项卡,但是为了将该库存包括在consolidation表中,我必须从新表创建一个新连接,然后进入consolidation表的Power Query Editor,并将新表添加到Source = Table.Combine({table1, table2, table3, table4})
行中。
所以从本质上说,我想知道是否可以对Source
行进行某种编辑,以便在添加/减去工作表时自动更新查询源。即使我可以在那里使用一个范围,我们也可以在每次添加一个时将工作表名称添加到列表中,这是可行的。基本上,任何事情都比在Power Query中更改代码更容易。如果唯一的方法是以某种方式创建一个VBA宏和一个更新查询的按钮,这也是很好的,但是我将非常感谢您所知道的任何我可以查看的资源,因为我只有很少的VBA经验。
我能找到的最接近的来源是:Updating Power Query Source,但这个解决方案听起来有点老生常谈,我想知道是否有更干净的东西。
发布于 2018-06-03 05:16:44
创建一个新的空白查询,并将以下内容粘贴到其中:
let
Source = Excel.CurrentWorkbook()
in
Source
这将显示当前工作簿中所有表的列表。现在,您可以对要合并的表进行筛选。如果对表使用命名约定,则可以轻松地为以特定文本开头的表创建筛选器,例如"inv“。
然后展开这些表,并删除包含表名的列。这将把M带到
let
Source = Excel.CurrentWorkbook(),
#"Filtered Rows" = Table.SelectRows(Source, each Text.StartsWith([Name], "inv")),
#"Expanded Content" = Table.ExpandTableColumn(#"Filtered Rows", "Content", {"data1", "data2"}, {"data1", "data2"})
in
#"Expanded Content"
添加更多遵循该命名约定的表和表,您只需刷新查询即可。
https://stackoverflow.com/questions/50660624
复制相似问题