更新含incremental refresh的Power BI报表如何避免丢失历史数据
Power BI 迭代增量刷新报表保留历史数据实操方案
只要严格按照以下流程操作,完全可以在完成报表迭代的同时保留全量历史数据、不破坏原有增量刷新配置,不存在不可逆的风险:
前置准备
- 操作前先在Power BI Online工作区找到目标报表绑定的数据集,在设置中开启数据集备份,将当前版本备份到关联存储账户,操作失误可随时回滚。
- 不要直接通过报表页的「下载.pbix」选项获取源文件,该方式导出的文件不包含增量刷新留存的历史分区数据。正确操作是定位到对应数据集,选择
导出.pbix(包含数据),导出的文件会完整携带所有已留存的历史数据、保留原有增量刷新的分区结构和配置。
迭代修改的禁止规则
修改文件过程中,只要不触碰以下红线,新增可视化图表、扩展API字段、新增计算逻辑都不会破坏增量刷新配置:
- 不得删除、重命名配置增量刷新时创建的
RangeStart、RangeEnd参数,不得修改两个参数的日期/时间数据类型 - 不得调整增量表Power Query逻辑中,基于
RangeStart/RangeEnd做时间范围筛选的核心步骤;扩展API调用能力、新增返回字段时,所有调整都要放在时间筛选步骤之后,保留原有向API传时间范围参数的逻辑 - 不得修改配置了增量刷新的表名、该表用于增量检测的主键字段名称和数据类型
- 其他非增量表的修改、新增度量值、新增可视化对象、调整报表页面布局都不会影响增量刷新,可自由操作
发布校验流程
- 修改完成后,先在Desktop端打开增量刷新配置页,核对对应表的历史数据存档范围、增量刷新范围、数据变更检测配置(如有)和线上原有配置完全一致,没有被重置
- 发布时选择原报表、原数据集所在的工作区,弹出覆盖提示时选择覆盖现有数据集,不要选择新建数据集
- 发布完成后绝对不要手动触发全量刷新,等待配置好的定时增量刷新计划自动运行即可,手动触发全量刷新会清空所有已留存的历史分区数据
大体量数据集特殊方案
如果数据集体量过大,无法通过「导出.pbix(包含数据)」下载文件,可通过XMLA端点连接线上数据集操作:
- 在Power BI Desktop中以实时连接模式连接线上现有数据集,完成所有新增可视化、度量值、计算列的开发
- 通过Tabular Editor连接同一XMLA端点,将需要新增的API字段、表结构调整同步到线上数据集,全程不会触碰已有历史分区,增量刷新配置会完整保留,操作完成后等下一次定时增量刷新拉取新增字段的对应数据即可。
内容的提问来源于stack exchange,提问作者Walid Ghodhbani
相关产品推荐
相关产品推荐

