配置增量刷新设置
Power BI 中的增量刷新功能很受欢迎,因为它允许您根据需要快速刷新大型语义模型,而无需每次都重新加载历史数据。
以前,运行增量刷新需要复杂代码,但现在可在 Power BI Desktop 中定义刷新策略。 发布到 Power BI 服务时会应用刷新策略,这样可以执行管理分区以优化数据加载的操作,从而带来以下好处:
刷新速度更快 - 仅刷新需要更改的数据。 例如,如果您有 5 年的数据,但只需要刷新过去 10 天的数据,因为只更改了这些数据,那么增量刷新将仅刷新这 10 天的数据。 毫无疑问,与刷新 5 年的数据相比,刷新 10 天数据所需的时间要短得多。
刷新更可靠 - 无需再将长时间运行的数据连接保持在打开状态即可计划刷新。
资源消耗更少 - 因为只需刷新较小的数据量,因此减少了内存和其他资源的整体消耗。
警告
应仅对支持查询折叠的数据源和查询使用增量刷新。 查询折叠是 Power Query 将数据转换(例如筛选器)转换为本机查询的流程,这些查询在导入过程中由数据源直接执行。 如果不支持查询折叠,增量刷新可能会导致用户体验不佳,因为它仍会拉取所有数据,甚至可能会多次拉取。
在本示例中,销售团队遇到了一个难题,他们来找您帮忙。 问题就是他们报表中的数据已过时。 无法通过添加新文件来手动刷新数据,因为刷新需要定期进行,这样才能与销售交易发生的频率相一致。 此外,手动刷新任务变得越来越困难,因为语义模型有数百万行。 因此,您需要实现更好的数据刷新解决方案。
可以定义增量刷新策略来解决此业务问题。 本流程涉及以下步骤:
定义筛选器参数。
使用参数来应用筛选器。
定义增量刷新策略。
将更改发布到 Power BI 服务。
定义筛选器参数
无论是否使用增量刷新,大型语义模型在导入到 Power BI Desktop 中时通常都会进行筛选,因为 PBIX 文件受台式计算机上的可用内存资源的限制。 对于增量刷新,语义模型按两个日期/时间参数进行筛选:RangeStart 和 RangeEnd。 这些参数具有双重用途。 在 Power BI Desktop 中,它们是筛选时间范围,因为它们将使用的数据限制在开始日期和结束日期中列出的范围内。 这些参数在发布到服务后,会接管为滑动时间范围来确定要拉取哪些数据。
若要定义增量刷新的参数,请按照以下步骤操作:
在 Power Query 编辑器中打开语义模型。
在主页选项卡上,选择管理参数。
在显示的参数窗口中,添加两个新参数(RangeStart 和 RangeEnd),确保这两个参数的类型设置为日期/时间,建议的值设置为任何值。
对于当前值,为 RangeStart 参数输入您希望开始导入的日期,为 RangeEnd 参数输入您希望导入结束的日期。 可以这样想:您正在台式计算机上导入数据,并且要导入有限范围的数据,而不是全部数据。
应用筛选器
定义新参数后,可按照以下步骤应用筛选器:
转到适用的日期列,然后右键单击该列,并选择自定义筛选器。
在显示的筛选行窗口中,若要避免重复计算行数,请确保保留 OrderDate 晚于等于 RangeStart 参数且早于 RangeEnd 参数的行。
从 Power Query 编辑器中选择关闭并应用。
您现在应该会看到 Power BI Desktop 中的语义模型子集。
定义增量刷新策略
筛选数据后,可以为数据表定义增量刷新策略,以设置刷新流程。
右键单击适用的表,然后选择增量刷新。
在显示的增量刷新窗口上,打开增量刷新选项。 然后,根据需要配置刷新。 在此示例中,您将定义一个刷新策略,以存储 5 个完整日历年的数据以及当前年度截止到当前日期的数据,并以增量方式刷新 10 天的数据。
Power BI 服务中的第一个刷新操作将加载最近五年的历史数据。 后续刷新操作是增量刷新,它们将刷新截至当前日期过去 10 天内更改的数据。 增量刷新还会删除早于当前日期五年的日历年。
发布到 Power BI 服务
在 Power BI Desktop 中定义增量刷新策略后,若要应用该刷新策略,您需要将报表发布到 Power BI 服务。
有关详细信息,请参阅 Power BI 上的增量刷新。