gpt4 book ai didi

excel - Power Query 附加到现有表

转载 作者:行者123 更新时间:2023-12-02 21:27:24 32 4
gpt4 key购买 nike

我最近改用 PowerQuery 从各种来源获取数据。我已将现有数据加载到名为“masterEntries”的表中。

我的查询调用一个函数来检查“masterEntries”中每个源的最后一条记录,并仅获取较新的记录。

let
Source = Excel.CurrentWorkbook(){[Name="formsMaster"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"FormName", type text}, {"Form", type text}, {"LastEntry", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each formEntries([FormName],[LastEntry])),
#"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"EntryId", "Field1", "Field2", "Field3", "Field5", "DateCreated"}, {"EntryId", "Field1", "Field2", "Field3", "Field5", "DateCreated"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"Form", "LastEntry"}),
in
#"Removed Columns"

此查询将数据加载到新表中。相反,我想将数据附加到“masterEntries”。

我正在尝试使用 PowerQuery 而不是 VBA 来执行此操作。 PowerQuery 具有追加查询功能,可以将两个或多个查询/结果组合到一个新表中。

甚至可以使用一个新查询将上述查询的结果表(“latestEntries”)附加到现有表(“masterEntries”)。

关于如何使用 PowerQuery 完成此操作有什么想法吗?

编辑

  1. 我的原始数据(“masterEntries”)是手动加载的。这是一个有 400K+ 条记录的大表。如果有帮助的话,我可以使用查询加载它。
  2. 每次运行“latestEntries”都会检查“masterEntries”中已有的记录,并仅从不同来源获取较新的条目。
  3. Power Query 中的追加查询方法只是一个连接。它不会永久附加记录。也就是说,当“latestEntries”带来一组新记录时,“masterEntries”会丢失先前运行的“latestEntries”中的记录。

最佳答案

这听起来有点像“增量加载”的请求。 Excel 中的 Power Query 目前不支持此功能。解决方法是通过“回链接”表,如下所述:http://ms-olap.blogspot.de/2015/05/incremental-data-loads-in-microsoft.html

如果您的回链表超过 1,1 Mio 行,您可以使用 JSON 压缩,如下所述:http://www.thebiccountant.com/2016/12/06/how-to-store-tables-longer-than-11-mio-rows-in-excel/但请注意,这会影响性能。

这两种方法都会“消耗”性能,因此只有当您“节省”真正繁重的转换(或来自网络的长时间加载)的重复执行时,这种技术才有意义。

关于excel - Power Query 附加到现有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40863273/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com