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

转载于:https://www.cnblogs.com/ljhdo/p/5556878.html

PowerBI开发 第十三篇:增量刷新相关推荐

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

    R是一种专门用于数据分析和统计的脚本语言,广泛应用在每一个需要统计和数据分析的领域.PowerBI支持R脚本,两者强强结合,使PowerBI的功能更加强大.PowerBI Desktop默认没有安装R ...

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

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

  3. MFC开发IM-第十三篇、MFC改变字体重影的问题

    //设置显示字体   CFont * cFont = new CFont; LPCTSTR lPCTSTR = _T("Arial"); cFont->CreateFont( ...

  4. PowerBI开发 第21篇:关键因素(Key Influencer)

    关键因素(Key Influencer)图表能够帮助用户分析KPI的因素,并按照因素的重要性进行排名,也就是说,该图表可以查看哪些因素会影响到KPI,并计算出因素的相对重要性.使用Key Influe ...

  5. powerbi实时刷新mysql数据库_PowerBI开发 第七篇:数据集和数据刷新

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

  6. PowerBI开发 第十六篇:PowerBI Service基本概念

    PowerBI Service 有时也称作PowerBI Online,是PowerBI的Saas(Software as a service)部分.在典型的PowerBI开发的工作流程中,用户使用P ...

  7. PowerBI开发 第九篇:修改查询

    在PowerBI的查询编辑器(Query Editor)中,用户可以使用M语言修改Query,或修改Query字段的类型,或向Query中添加数据列(Column),对Query进行修改会导致Powe ...

  8. PowerBI开发 第一篇:设计PowerBI报表

    PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据.PowerBI主要由两部分组成:Power ...

  9. Xamarin.Forms开发实战基础篇大学霸内部资料

    Xamarin.Forms开发实战基础篇大学霸内部资料 介绍:本教程是国内第一本Xamarin.Forms开发专向教程.本教程针对Xamarin.Forms初学用户,全面细致的讲解Xmarin.For ...

最新文章

  1. “华为云杯”2020深圳开放数据应用创新大赛线上推介会成功举办,让深圳大数据在全球“跑”起来...
  2. Flask环境的配置
  3. 文件查询工具locate和find
  4. springboot 中文文档_比Swagger还好用的自动生成接口文档工具
  5. 汇编学习心得(二)关于字符的处理
  6. 什么是序列化?python pickle模块
  7. [云炬创业基础笔记]第二章创业者测试17
  8. CSS设置文本字体居中
  9. mysql去掉两个最高分_数据分析系列 16/32 | MySQL中子查询与联合查询
  10. 基于node.js及express实现中间件,实现post、get
  11. 江陵中学2021高考成绩查询,2021高考序幕拉开 荆州38080名考生赴考
  12. 信息检索 IR 中的评价指标
  13. Andromeda OS 来了,Android 再见?
  14. MySQL 一条SQL语句执行得很慢的原因有哪些?
  15. 数据中心的“风火水电”
  16. android卡通头像,Q版卡通头像设计
  17. JAVA基础语法(1)
  18. 麦克风有电流声怎么办?
  19. 手把手带你使用ZigBee——通过爱智控制EFR32,以及 Simplicity Studio 使用过程中注意事项
  20. 使用openpose做的运动检测[附代码]

热门文章

  1. 【Android O】 Service AAA does not have a SELinux domain defined
  2. 十行代码,用Python做一个迷你版的美图秀秀
  3. Android 音频录制 的三种方式
  4. linux文档_Linux文档
  5. mysql修改密码(win)
  6. 鼻纹识别,让AI寻宠照进现实
  7. 梅科尔工作室-第一次网页前端培训笔记(HTML常用标签)
  8. qsql 关联_QTableView与QSqlTableModel显示mysql数据库中的数据,怎么在QTableView的项中添加chekbox按钮与上拉列表啊真心求指导...
  9. 快速软件开发——项目修复(笔记)
  10. 定档9.11|腾讯全球数字生态大会 · CSS峰会,邀您共启安全新思维