You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query中合并禁刷新与可刷新表的有效实现方案咨询

Power Query实现Oracle增量合并且仅刷新增量表方案

步骤1:配置历史表(表1)的连接

  • 在Power Query中导入表1(查询语句:SELECT * FROM DB WHERE DB.date < TO_DATE('2023-12-01','DD-MM-YYYY')),完成数据加载后,右键该查询选择仅创建连接,将其命名为历史表_仅连接。
  • 右键历史表_仅连接→属性,取消勾选「刷新此连接时刷新」,确保后续自动刷新不会触发该查询。

步骤2:配置增量表(表2)的连接

  • 正常导入表2(查询语句:SELECT * FROM DB WHERE DB.date >= TO_DATE('2023-12-01','DD-MM-YYYY')),命名为增量表,保留默认的刷新设置(即刷新时同步更新)。

步骤3:在Power Query中合并两表(替代原表0)

  • 新建空白查询,命名为表0(和原表名称完全一致,避免修改报表公式)。
  • 打开该查询的高级编辑器,替换为以下M代码:
let
    加载历史数据 = #"历史表_仅连接",
    加载增量数据 = #"增量表",
    合并表 = Table.Combine({加载历史数据, 加载增量数据})
in
    合并表
  • 确认两表列结构(列名、数据类型)完全一致,否则Table.Combine会因列不匹配报错。

效果说明

  • 每次刷新时,仅增量表会从Oracle拉取最新数据,历史表保持静态,大幅缩短刷新耗时。
  • 合并后的表0和原表结构、名称完全相同,报表中所有依赖原表0的公式无需修改,直接复用。
  • 相比DAX的UNION(),Power Query的Table.Combine在查询层完成合并,内存占用更低,避免模型层合并的性能问题。

特殊场景处理

如果后续需要调整历史数据的截止日期(比如更新表1的筛选条件),只需手动刷新一次历史表_仅连接即可,平时无需干预。

内容的提问来源于stack exchange,提问作者Javier Lopez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 22:13:26