Excel多个Power Query引用同路径数据源时是否会复用已导入数据节省内存
Power Query同源数据复用问题确认
你的猜想完全正确,默认状态下Excel Power Query不会自动缓存复用多个独立查询的同源数据。
核心逻辑说明
每个独立的Power Query查询默认是隔离执行的,你给出的示例中两个查询分别独立调用Folder.Files("FilePath"):
// Query1 let source = Folder.Files("FilePath") // 后续步骤 in ... // Query2 let source = Folder.Files("FilePath") // 后续步骤 in ...
每次执行刷新操作时,两个查询都会独立触发一次对应路径的文件读取、源数据拉取流程,不会自动识别到数据源重复而复用已有数据。
性能影响验证
当存在多个同源查询、源数据体积较大时,重复的IO读取和数据拉取操作确实是文件运行卡顿的核心原因之一,这类重复操作会成倍拉高内存和CPU占用,拖慢整体刷新效率。
优化方案
你提到的主动引用已导入数据是最优解决方案:
- 单独创建一个基础源查询,例如命名为
Source_FilePath,查询内仅保留拉取基础源数据的步骤,将该查询设置为「仅创建连接」,不加载到工作表或数据模型,减少不必要的资源占用 - 后续所有同源的业务查询,都将source步骤修改为直接引用
Source_FilePath即可,刷新时仅会拉取一次源数据,所有业务查询复用同一份基础数据源,可大幅降低重复操作带来的性能损耗
内容的提问来源于stack exchange,提问作者Netho
相关产品推荐
相关产品推荐

