首页 > 解决方案 > 在多个 Power Queries 中导入相同数据时,excel 是否会记住现有数据?

问题描述

我找不到确切的答案,我想确定我的假设是正确的,因为我要重建别人制作的 Excel 文档。

简而言之,如果一个 excel 文档在多个查询中从同一文件路径导入,excel 是否会记住它已经获得的任何数据以节省内存?我的假设是否定的,并且对于每个查询,数据都将再次导入。

就代码而言,我的意思如下:

Query1
let 
source = Folder.Files("FilePath")
#..other steps

Query2
let
source = Folder.Files("FilePath")
#..other steps

其他步骤与我的问题不太相关,也不一定必须是相同的步骤。我就是想知道,既然查询的来源都是一样的,那么Excel会记住什么来节省内存吗?我认为不会,并且预计创建者会引用已导入的数据。我找不到确切的确认。

在某些情况下,我相信这可能是使文件速度如此缓慢的众多原因之一,尤其是在我的情况下它超过 2 个查询。

标签: excelpowerquery

解决方案


如果您从其原始来源访问数据,则将在每个查询中访问它。如果要尽量减少重复,可以使用不同的方法。

RawDataQuery
let 
   source = Folder.Files("FilePath")
in
   source

Query1
let
source = RawDataQuery
#..other steps

Query2
let
source = RawDataQuery
#..other steps

在 Power Query 的早期版本中,这仍会多次加载数据,但较新的版本应该只加载一次数据。


推荐阅读