PowerBI 将要解锁增量刷新(Incremental refresh)功能,这是一个令人期待的更新,使得PowerBI可以加载大数据集,并能减少数据的刷新时间和资源消耗,该功能目前处于预览状态,只对 Power BI Premium 版本开放预览。

增量刷新只是加快了数据集刷新的速度,对于具有潜在数十亿行的大型数据集,可能还是不适合Power BI Desktop,因为它通常受用户桌面PC上可用资源的限制,以及系统的限制。 因此,这些数据集通常在导入时被过滤,以适应Power BI Desktop。 无论是否使用增量刷新,情况仍然如此。

通常情况下,增量是基于时间戳字段的,在数据源更新数据时,同时更新时间戳。PowerBI保存上一次刷新时的时间戳last_timestamp,所有大于last_timestamp的数据行都是新增加的数据行,也就是说,改变的数据行会被加载到PowerBI的数据集中。

我的PowerBI开发系列的文章目录:PowerBI开发

一,启用增量刷新

增量刷新默认是禁用的,启用增量刷新的步骤是:打开选项和设置(Options and Settings)窗口,在全局选项(Global)的 “Preview features” 选项卡中,勾选“Incremental Refresh Policies”,这样就启用了PowerBI Service的增量刷新功能。

目前该功能仍然处于预览阶段,后续可能会被加强,这么酷的一个feature,没有道理会被弃用。

二,设置RangeStart和RangeEnd参数

要在Power BI服务中利用增量刷新,首先需要创建时间区间,这要求用户在Power Query 编辑器中创建RangeStart和RangeEnd参数,该参数的名称是保留名称,类型必须是Date/Time,PowerBI Service使用这两个参数实现数据集的增量刷新。

创建参数的窗口如下图所示,Type必须选择Date/Time类型,并设置默认值(Current Value)。

三,使用参数过滤查询

使用定义的参数RangeStart和RangeEnd,对查询的Date/Time字段进行过滤。选中Date字段,展开 "Date/Time Filters" ,选择“Custom Filter”,

在“Filter Rows”对话框中,设置用于过滤数据行的表达式,如下图所示:

一旦发布PowerBI,那么参数值会被PowerBI Service自动覆盖,这种行为不需要显式设置。

四,定义刷新策略

在PowerBI Desktop中定义刷新策略,在PowerBI Service中应用刷新策略。

在Report视图中,选择被参数RangeStart和RangeEnd过滤的表,右击弹出快捷菜单,点击“Incremental Refresh”,

打开增量刷新的窗口,如下图所示,在该窗口中定义增量刷新的策略:

1,为数据表启用增量刷新

2,定义刷新的区间

数据刷新的区间包括保留区间和增量区间,保留区间为6个月,增量区间为7天,这意味着保留近6个月的数据,当刷新数据时,加载数据的时间区间是:开始日期=当前日期-7天, 结束日期=当前日期

PowerBI会把在6个月之前的数据从Data Set中移除。

在第一次刷新时,PowerBI会一次性加载6个月的数据,这是依次全量刷新,之后的数据刷新都按照该区间进行增量刷新。

3,探测数据变化

当勾选“Detect data changes”选项时,您能选择一个Date/Time列作用时间戳,当探测到该列发生改变时,PowerBI才会启动增量刷新进程。如果该列没有发生任何改变,那就没有必要去刷新数据。

当前的设计要求PowerBI Service保持用于探测数据变化的列不变,并缓存到内存中。

4,只刷新完整日期

当勾选“Only refresh complete periods”时,PowerBI不会加载当天的数据,因为当天的数据不是一天的完整数据。

五,归并更新

PowerBI Service使用基于时间戳的归并方法实现数据集的增量更新,归并更新的实现逻辑是:添加新的数据,对已经存在的数据进行更新,并移除超过保留的时间窗口之外的数据。

例如,以下示例定义了一个刷新策略:

用于存储总共5年的数据,并逐步刷新10天的数据。 如果每天刷新数据集,则将对每个刷新操作执行以下操作:

  • 添加新的一天数据,(添加新的数据);
  • 刷新在当前日期前10天的数据,(对已经存在的数据进行归并更新);
  • 删除当前日期之前超过5年的数据。 例如,如果当前日期是2019年1月1日,则删除2013年的数据,(移除超过保留的时间窗口之外的数据)。

参考文档:

Incremental refresh in Power BI Premium

PowerBI开发 第十三篇:增量刷新的更多相关文章

  1. PowerBI开发 第八篇:查询参数

    在PowerBI Desktop中,用户可以定义一个或多个查询参数(Query Parameter),参数的功能是为了实现PowerBI的参数化编程,使得Data Source的属性.替换值和过滤数据 ...

  2. PowerBI开发 第七篇:数据集和数据刷新

    PowerBI报表是基于数据分析的引擎,数据真正的来源(Data Source)是数据库,文件等数据存储媒介,PowerBI支持的数据源类型多种多样.PowerBI Service(云端)有时不直接访 ...

  3. PowerBI开发 第四篇:DAX表达式

    DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...

  4. PowerBI开发 第四篇:DAX 表达式基础

    DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...

  5. PowerBI开发 第十一篇:报表设计技巧(更新)

    PowerBI版本在持续的更新,这使得报表设计能够实现更多新的功能,您可以访问 PowerBI Blog查看PowerBI的最新更新信息,本文总结了PowerBI新版本的重要更新和设计技巧. 我的Po ...

  6. PowerBI开发 第五篇:关系和交互

    PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能.关系是数据分析 ...

  7. PowerBI开发 第三篇:报表设计技巧

    最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...

  8. PowerBI开发 第五篇:关系的设计

    PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能.PowerBI ...

  9. PowerBI开发 第十篇:R 脚本

    R是一种专门用于数据分析和统计的脚本语言,广泛应用在每一个需要统计和数据分析的领域.PowerBI支持R脚本,只不过,PowerBI Desktop默认没有安装R.在使用R脚本之前,必须向PowerB ...

随机推荐

  1. Jboss7.1 local EJB lookup problem

    We are trying to lookup for an Local EJB in JBoss7.1, but we get an ClassCast Exception. This local ...

  2. Linux系统之TroubleShooting(启动故障排除)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  3. 转:HttpModule与HttpHandler详解

    ASP.NET对请求处理的过程:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,A ...

  4. teradata 数据定义

    teradata 数据定义 创建表的可选项 是否允许记录重复 set 不允许记录重复 multiset 允许记录重复 数据保护 fallback       fallback    使用fallbac ...

  5. python下以api形式调用tesseract识别图片验证码

    一.背景 之前在博文中介绍在python中如何调用tesseract ocr引擎,当时主要介绍了shell模式,shell模式需要安装tesseract程序,并且效率相对略低. 今天介绍api形式的调 ...

  6. 大数据开发实战:HDFS和MapReduce优缺点分析

    一. HDFS和MapReduce优缺点 1.HDFS的优势 HDFS的英文全称是 Hadoop Distributed File System,即Hadoop分布式文件系统,它是Hadoop的核心子 ...

  7. Mybatis 学习笔记

    可学习渠道  MYBATIS 入门教程 1. Mybatis 介绍 Mybatis 是 sqlmap 技术,对 JDBC 进行封装,将大量的 SQL 语句外部化. 平时我们都用JDBC访问数据库,除了 ...

  8. 12.SolrCloud原理

    转载自http://blog.csdn.net/u011026968/article/details/50336709 内容涉及:SolrCloud的基础知识.架构.索引创建和更新.查询.故障恢复.负 ...

  9. swift static与class修饰符:static不参与动态派发

    static与class 都有类型成员的含义:相对于实例成员: static的另一个意思是静态派发:所以不能被继承. 要使用动态派发和继承的机制必须使用class继承. static的其它常见含义: ...

  10. BZOJ2502:清理雪道(有上下界最小流)

    Description        滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时 ...