为何合并后的Sales表仍刷新Rate数据?已禁用Include in report refresh
Power Query合并表刷新问题解答
这是预期行为吗?
是预期行为。因为取消勾选include in report refresh仅控制Rate表本身是否在报表刷新时加载到数据模型,但Sales表的Power Query查询逻辑里,合并步骤是直接从数据库重新获取Rate表的数据进行计算,并没有复用数据模型中Rate表的缓存数据。
同样,取消enable load只是让Rate表不加载到数据模型,完全不影响Sales表的查询在后台调用原始Rate数据源。
阻止方法
要让Sales表始终使用Rate表的初始数据,必须把Rate的初始数据固化,以下是几种可靠方案:
创建Rate表的静态副本
- 在Power Query编辑器中打开原始Rate表,加载完初始数据后,点击
主页→关闭并上载至,选择仅创建连接并勾选添加到数据模型。 - 再次打开Rate表的查询编辑器,全选所有数据并右键复制,新建空白查询后右键选择
粘贴为值,得到一份完全静态的Rate数据。 - 修改Sales表的合并步骤,将合并对象改为这个静态副本,而非原始Rate数据源查询。
- 在Power Query编辑器中打开原始Rate表,加载完初始数据后,点击
将Rate数据直接嵌入Sales查询
在Sales表的Power Query编辑器中,找到获取Rate数据的步骤,把数据源调用替换为初始数据的常量值。比如将Source步骤的数据库连接代码,替换为包含初始Rate数据的表格常量,这样后续刷新时不会再从数据库拉取Rate数据。利用Power Query的参数存储静态数据
把Rate表的初始数据转为Power Query参数(表格类型),然后在Sales表的合并步骤中引用该参数,参数值不会随刷新自动更新,除非手动修改。
内容的提问来源于stack exchange,提问作者variable
相关产品推荐
相关产品推荐

