Power BI的增量刷新功能现在已经对Pro用户开通,但由于种种限制,很多人依然无法使用无这个功能,所以,每一次刷新,都要彻底更新数据集。这对于量级比较大的数据集来说,着实是一件耗费时间的事情。

拿我的亲身经历举个例子,我有一份报表涵盖了客户近3年的销售情况,由于客户的业务流量比较大,数据集的每一次手动刷新都在15分钟左右,而计划刷新更是会延迟到35分钟左右,严重影响到报表的日常使用。

不过呢,聪明如我( 偷笑 ),我还是发掘到了一个十分简单的”增量刷新”解决方案,使用一个DAX函数就可以实现。希望我以下的分享可以给你带来一些灵感。

在这里,我仍然使用NorthWind数据库做演示,分别导入Orders表格以及Customers表格。

首先,在PowerQuery将数据集里,将包含了近三年销售详情的Orders表分为三张: Orders 2017, Orders 2018, Orders2019,里面分别包括了当年的所有销售订单。

实现步骤为:

1. 复制两份Orders表格,分别重命名。

2. 对OrderDate日期列进行操作,筛选出当年的销售数据 :

方法一 : M代码( 以Orders 2017的日期筛选为例 )

"Lignes filters" = Table.SelectRows(#"Colonnessupprimées", each [OrderDate] >= #date(2017, 1, 1) and [OrderDate]<= #date(2017, 12, 31))

方法二 : 或在PQ界面,点击OrderDate列筛选实现,

将销售表格成功分割为三个年份的表格后,还要取消2017和2018这两张表格的刷新资格(这一步非常重要)。

具体操作为,分别鼠标右击这两个表格,取消勾选“包含在报表刷新中”。

也就是说,在下一次更新数据集时,这两张表格将不被刷新,不会再重新载入数据。

写到这里,应该有一些小伙伴已经看出来我的意图了 : 更新的时候只刷新2019年的销售数据,然后再合并这三张表,获取一个完整的Orders表格,不就约等于只刷新新增数据了吗。没错!就是这样。

所以接下来,我们要做的就是: 合并这三张表格。

那么问题来了,应该在PQ里直接合并吗?

答案是否定的。

因为如果在PQ里以Orders2019作为主表格对它们进行合并,2018和2017两张表格虽然被取消了刷新资格,但是作为2019的附属表格,还是会被刷新,会被重新载入数据。

不过,在PowerBI里,我们还可以借助一个函数UNION来实现表格的合并。并且UNION可以帮助我们实现增量刷新的目的。

导入数据后,回到PowerBI操作界面,点击工具栏里的”新建表”,使用DAX函数创建一个新的表格 Orders。

这里用到的DAX表达式为:

Orders =UNION('Orders 2017';'Orders 2018';'Orders 2019')

新表格创建成功后,来到关系视图,可以使用新创建的表格建立需要的关联关系。

点击刷新数据验证一下三张Orders表格里,是否只有Orders2019被刷新。

到这里,我的小技巧就施展完成了。

最后,大家别忘了在表格列表里隐藏 Orders 2017, Orders2018, Orders 2019 这三张表格,假装什么都没有发生过一样。

或许看完之后你会说,这根本就不算真正的增量刷新。是的,这里我只是在”模仿”增量刷新,在PowerBI Desktop中只加载需要更新的表,同样可以缩短刷新的时间,这不就是我们期望的结果么?

利用这个方法确实部分解决了我的困扰。你也可以顺着这个思路,单独分出近一个季度,近一个月的数据,然后只刷新这部分数据。

感谢大家的阅读。

/推荐阅读/

01 「PowerBI星球」内容合辑

02 PowerBI数据分析应用:客户购买频次分布

03 数据分析实战案例,帮你全面认识 PowerBI

数据可视化之powerBI技巧(二十二)利用这个方法,帮你搞定Power BI"增量刷新"的更多相关文章

  1. 数据可视化之powerBI技巧(十二)学会这几个度量值,轻松获取前N名

    数据中的明细项一般都有很多,可是我们关注的往往只是前几名,所以在报表中只展示关注的部分,就十分常用. 有了上篇(这几个示例,帮你深入理解RANKX排名)关于排名的铺垫,仅显示前N名就简单多了. 依然以 ...

  2. 数据可视化之powerBI基础(十二)PowerBI导入Excel数据有哪几种方式?

    https://zhuanlan.zhihu.com/p/64999937 Excel作为使用最频繁.应用最广泛.用户最庞大的数据处理工具,当然也应该是PowerBI最常用的数据获取方式,本文介绍一下 ...

  3. 数据可视化之powerBI入门(十二)PowerBI中最重要的函数:CALCULATE

    https://zhuanlan.zhihu.com/p/64382849 介绍DAX的时候,特别强调过一个重要的函数:CALCULATE,本文就来揭秘这个函数的计算原理以及它是如何影响上下文的. C ...

  4. 数据可视化之powerBI技巧(十八)Power BI动态技巧:动态显示列和度量值

    今天分享一个可视化小技巧,如何在PowerBI的表格中动态显示需要的列? 就是这样的效果, 也就是根据切片器的筛选,来显示需要的列,做起来很简单,步骤如下: 01 逆透视表 进入Powerquery编 ...

  5. 数据可视化之powerBI技巧(十六)采悟:PowerBI作图技巧:动态显示可视化标题

    默认情况下,PowerBI图表的标题是静态的,为了增强图表的可读性,通过设置动态标题,可快速展示关键信息.提升沟通效率.本文通过两个简单的例子来看看PowerBI中如何创建动态标题. /01/ 拿之前 ...

  6. 数据可视化之powerBI技巧(十九)DAX作图技巧:使用度量值动态分组和配色

    有了前两篇关于分组的铺垫,这篇文章就来学习一个分组的经典应用,图表的动态分组,并对分组动态配色. 假设有十几个产品,每个产品的销售额,是随着时间而变化的,想知道某个时间的每一个产品的销售额与平均销售额 ...

  7. 数据可视化之powerBI技巧(十五)采悟:Power BI动态技巧:动态显示数据层级

    今天给大家分享一个动态显示数据层级的技巧,效果如下: 无论想按什么维度.什么顺序查看分析数据,只需要选择不同的切片器组合就行了. 方法如下:01 | 把数据聚合为分析需要的最细粒度 本文假设最细分析粒 ...

  8. 数据可视化之powerBI技巧(十四)采悟:PowerBI中自制中文单位万和亿

    使用PowerBI的时候,一个很不爽之处就是数据单位的设置,只能用千.百万等英美的习惯来显示,而没有我们中文所习惯的万亿等单位,虽然要求添加"万"的呼声很高,但迟迟未见到改进动作, ...

  9. 数据可视化之powerBI技巧(十)利用度量值,轻松进行动态指标分析

    在一个图表中,可以将多项指标数据放进去同时显示,如果不想同时显示在一起,可以根据需要动态显示数据吗?在 PowerBI 中当然是可以的. 下面就看看如何利用度量值进行动态分析. 假如要分析的指标有销售 ...

随机推荐

  1. 让LED程序在片外SDRAM中运行

    让LED程序在片外SDRAM中运行 一.引子 在前一篇文章中,我们已经成功点亮过LED了,为什么还要再重复一次呢? 我们已经知道,Mini2440开发板有两种启动模式:从NorFlash启动和从Nan ...

  2. Trouble and solution

    Prevent the CTRL from rebooting in loop killall scm watch echo 1 > /dev/watchdog& Install Git ...

  3. 多线程实现tcp聊天服务器

    多线程tcp  server & client tcp服务端(多线程): from socket import * from threading import Thread def clien ...

  4. Sequence in the Pocket【思维+规律】

    Sequence in the Pocket 题目链接(点击) DreamGrid has just found an integer sequence  in his right pocket. A ...

  5. HTMLTestRunner生成html测试报告

    使用:把文件放到项目某个文件夹中,引入方式如下 import unittest import env import vendor.report.HTMLTestRunnerNew as HTMLTes ...

  6. Android学习笔记Log类输出日志信息

    Log类提供的方法 代码示例 .. Log.e(TAG,"[错误信息]"); Log.w(TAG,"[警告信息]"); Log.i(TAG,"[普通信 ...

  7. Mac 安装fiddler

    1, 安装mono 2,下载fiddler for mac https://www.telerik.com/download/fiddler 3. 解压fiddler-mac.zip 4, cd fi ...

  8. Redis系列(五):数据结构List双向链表中基本操作操作命令和源码解析

    1.介绍 List是通过ListNode实现的双向链表. 1.双端:获取某个结点的前驱和后继结点都是O(1) 2.无环:表头的prev指针和表尾的next指针都指向NULL,对链表的访问都是以NULL ...

  9. Apache Hudi:云数据湖解决方案

    1. 引入 开源Apache Hudi项目为Uber等大型组织提供流处理能力,每天可处理数据湖上的数十亿条记录. 随着世界各地的组织采用该技术,Apache开源数据湖项目已经日渐成熟. Apache ...

  10. Kubernetes学习笔记(九):StatefulSet--部署有状态的多副本应用

    StatefulSet如何提供稳定的网络标识和状态 ReplicaSet中的Pod都是无状态,可随意替代的.又因为ReplicaSet中的Pod是根据模板生成的多副本,无法对每个副本都指定单独的PVC ...