kettle spoon判断增量更新_【高级应用】PowerBI增量刷新原理揭秘及实战详解

本文详细介绍了PowerBI增量刷新的原理、配置方法和实操步骤,帮助读者理解如何利用增量刷新功能高效处理大规模数据。通过安装SQL Server、设置PowerBI Desktop的增量刷新策略和配置数据网关,实现数据的快速刷新。核心原理是云端通过数据网关与SQL Server交互,基于时间条件查询增量数据。文章强调了增量刷新的必要条件和常见误区,并提供了实践指南。
摘要由CSDN通过智能技术生成

a0b12ac5c1fb68bb8667a60e86061ba9.png

64aecc6b059f91d7e355b33fd6105ae1.png

随着 PowerBI 在 2020年2月的更新,增量刷新应该被投票投成了大众货,现在所有小伙伴都可以使用这个功能了。当然,其前提是 PowerBI Pro 帐号,也就是 9.9 美金/月/人的 Level,很合理。这彻底将自助式BI分析推向了成规模级。

很多小伙伴跃跃欲试,看着微软的官方文档操作起来,但很快就会发现坑,本文就是用来帮助您正确理解增量刷新本质原理以及实操方法的。

增量刷新的好处

首先来看下增量刷新解决的问题到底是什么,如下:

b55d2353f4ec30c967ab56be9baa4692.png

可以看出:

  • 第一次刷新将历史数据和增量更新数据一起加入,用时:

    5分钟。

  • 第二次刷新将增量数据刷新进入PowerBI数据集,用时:

    20秒。

这仅仅是为了测试的示例,这样我们就可以明白,由于历史数据的固定性,一旦构建,就可以不再更改,只需要关注最近的新进数据。

由于 PowerBI 的增量刷新存在一些特点,下面我们来详细解读。

增量刷新的流程

按常识不难想到,增量刷新按以下流程进行:

  • 云端发起刷新。

  • 通过数据网关将刷新请求发送到数据源服务器(如:

    SQL Server)。

  • 数据源服务器(如:

    SQL Server)根据时间判断增量,查询出来,通过数据网关传回云端。

  • 云端刷新这部分数据并存储。

这个流程非常重要,不是写写的,你在任何一个坑里出错几乎都是没有充分理解上述步骤的内涵。下面给出一个正确的路线,但对不同的分支和产生的问题,我们将在后续文章继续介绍。

增量刷新的误解和条件

请认真再读一遍流程,并注意里面涉及到的名词和隐含概念。

这里来打消很多小白用户的错误想法,请遵守以下条件:

  • 没有云端帐号,无法增量刷新。

  • 没有数据网关和正确配置,无法增量刷新。

  • 没有本地数据源服务器(如:

    SQL Server)无法增量刷新。

  • 在刷新中传递的查询请求必须是数据源服务器可以理解并执行的,否则无法增量刷新。

所以,以下误区请务必注意:

  • 光有 PowerBI Desktop 无法增量刷新。

  • 不配置数据网关无法增量刷新。

    (学习BI佐罗《PBI基础》)

  • 一上来就连Excel文件,无法增量刷新,因为Excel文件根本不是服务器。

很明显,增量刷新不是为小白准备的,起码你要打通云上云下,并有数据源服务器(如:SQL Server)

下面,我们从零帮你体验这个流程。

安装 SQL Server

你可以自行搜索安装 SQL Server 的流程,非常简单。几乎是一路下一步。

第一步,下载并安装 SQL Server,官方网址:

https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads

2416c747e5768ded0de39e4fbd50732c.png

不会安装的小伙伴,请大家自己搜索教程,很简单。

SQL Server 是运行在后台的,因此看不见摸不着。为了可以看得见摸得着,需要安装一个管理工具。

第二步,安装可以看见 SQL Server 的管理工具,官方网址:

https://docs.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

522bf8338953a340371f18603f31d7cb.png

可以安装中文版。

准备数据

如果你直接可以连接企业的数据库,可以忽略上述过程。

如果你无法找到可以做实验的企业数据,可以自己造,简单方法的大致思路:

  • 在 Excel 里先准备好一票数据,例如:

    1万行,保存为 csv。

  • 在 SQL Server 里导入这些测试数据。

  • 可以自己搜索如何循环追加,刻意把数据量加大到 1个亿。

请自行搜索按上述思路准备即可,并不难。

最终结果大概是这样:

87f3a916c6c38d0a0717e176c76a839b.png

这样就有了可以测试大量数据表现的样本数据。

在 PowerBI Desktop 进行设置 - 获取数据

用 PowerBI Desktop 连接这些数据,平时怎么连接就怎么连接,但注意:

  • 不要加载,因为数据量很大;

  • 只加载样本数据。

问题是如何只加载样本数据呢?这里需要用到两个重要的系统参数。请先在查询编辑中创建这两个参数,如下:

79aa9a3065baa1388d5a23d99ad04167.png

这两个参数是:RangeStart 和 RangeEnd,请注意:

  • 名字可以写对不?

  • 类型必须是日期时间类型(注意:

    不能是日期类型)

以 90% 的人都一般栽坑到大小写和缺括号这种问题,那么写对大小写和日期时间类型可以难倒很多人。很多人都在问:老师,我是按照微软文档配置的,为什么不能增量刷新。答案:因为你根本没严格看文档。

具体在配置时,只需这步:

8290317e6f72f7a9627617256fb5ef47.png

请务必务必注意:

  • 晚于或等于

  • 早于

  • 参数选对

为了样本数据少,这里我们只设置了几天的数据量。

如果你可以认真读到这里并严格操作,你在 PowerBI Desktop 中就可以看到正确的样子了。

在 PowerBI Desktop 进行设置 - 增量刷新策略

9d14d8b8a457cbbec9a83963b0a23b92.png

点击【增量刷新】可以看到:

07cee14f859e15c5eec97dc074f0eae4.png

这里的意思是:

存储最近 X 天(如:最近 60 天)的数据,并保持刷新最近 Y 天(如:最近 5 天)的数据,如果当天没过完,只刷新到昨天即可。

请注意,你在 PowerBI Desktop 里刷新是没有任何变化的,这个变化要等到你在云端刷新才有用。

配置数据网关

配置数据网关的过程,不再赘述,有很多资源,另外,可以学习我的《PBI基础》。

配置好,你应该确保网关正在运行:

7b78d2007684165e4f51097f9bb3b666.png

这样可以确保打通云端。

发布并配置

在没有发布前,我们看看 PowerBI Desktop 端的数据量,如下:

f73ae4d357bc223d85d8475940864fce.png

按照增量刷新策略:

存储最近 X 天(如:最近 60 天)的数据,并保持刷新最近 Y 天(如:最近 5 天)的数据,如果当天没过完,只刷新到昨天即可。

我们先发布到云端,并配置数据网关,确保:

在云端设置好增量刷新,如下:

1a8b1f3ed14b5ac324564463d1754e16.png

一切OK。

首次刷新

在云端进行首次刷新时,会将历史数据和增量数据一起刷入,所以耗时可能较长。

点击刷新按钮。

等待片刻(在这个案例中是5分钟),结果如下:

29b0e187f240bcc99bd31abe97838a92.png

可以看到:

整个刷新结果是按照刷新策略进行的,也就是:

存储最近 X 天(如:最近 60 天)的数据,并保持刷新最近 Y 天(如:最近 5 天)的数据,如果当天没过完,只刷新到昨天即可。

由于今天是2020.02.19,由于当天没过完,只刷新到昨天即可,因此只刷到2020.02.18。

再次刷新

为了测试效果,我们写入一条数据到数据库,然后再次从云端刷新。

ffc82dc5ade00b1b9c0266c8134aa44d.png

刷新后,可以看到:

d5efecba720969b19ed84e6759a8ec84.png

增加了一条数据。

刷新时间对比

我们来看两次刷新时间的对比,如下:

b55d2353f4ec30c967ab56be9baa4692.png

不言而喻,增量刷新带来了重要的时间优势。

增量刷新的核心原理

那么很多伙伴会问,他凭什么就可以增量刷新了呢?到底是什么原理呢?下面罗叔就简单介绍并证明给你看。

首先,请再回顾我们说的流程:

  • 云端发起刷新。

  • 通过数据网关将刷新请求发送到数据源服务器(如:

    SQL Server)。

  • 数据源服务器(如:

    SQL Server)根据时间判断增量,查询出来,通过数据网关传回云端。

  • 云端刷新这部分数据并存储。

这里的关键在于:

PowerBI Service作为云端,运行的是你写好的Power Query,而这个东西只能运行在 PowerBI 里,对于 SQL Server 是不能运行 Power Query 的,而需要被转换。

因此,细心的同学可以留意到:

d5382ad4284f3e0935d427e0b7960711.png

你生成的任何 Power Query 都有一个选项叫:查看本机查询,意思是:本机指的就是你的服务器;而本机查询就是服务器的查询,我们点击进去,可以看到:

26b8608c8ace93506e4c1c147b436797.png

也就是说,我们用 Power Query 生成的步骤会被转换为 SQL 查询,并在服务器运行。

因此,如果你的【查看本机查询】是灰色的话,例如,如果数据源是 Excel,就会出现:

c8ef3698636aca80de32362636609888.png

这说明对 Excel 文件的查询是无法做到真正增量的。即使进行配置,也只能看到:

b2aa9e1f0aad45de0cc64dade5ed73a9.png

这里的警告,就是告诉你这个数据源,无法使用本机查询,因此无法做到增量刷新。

那么,对于可以增量刷新的情况,我们怎么知道它确实刷新了5天的数据呢?

我们使用 SQL Server Profile 来监控 SQL Server 的执行,然后在云端发起更新,观察监控的变化,可以发现:

ff53a7082905017dc048f166faa6ea7c.png

回想我们的增量刷新策略:

存储最近 X 天(如:最近 60 天)的数据,并保持刷新最近 Y 天(如:最近 5 天)的数据,如果当天没过完,只刷新到昨天即可。

因此,增量刷新其实是 5 天的数据,在这里有这样的规律:

  • 恰好有 5 次服务器本地 SQL 查询,发起者是 Microsoft Mashup Runtime,就是数据网关。

  • 查询的结构与在 Power Desktop 中生成的本地查询样式完全一致。

  • 最近 5 天对应的 5 次查询严格地满足没有刷新没有过完的今天。

到这里,我们就彻底理解了其底层原理,那就是:PowerBI服务端连通数据网关将当时设置的参数 RangeStart 和 RangeEnd 根据增量刷新策略换成真正的条件,并由数据网管调用 SQL Server 完成真增量查询。

总结

通过本文,我们彻底理解了 PowerBI 中的增量刷新,包括:

  • 增量刷新的流程及内涵

  • 增量刷新需要的环境

  • 增量刷新的配置方法

  • 增量刷新的底层原理

希望大家自己可以进行实践,增量刷新绝对是一个很重大的特性,它可以帮助我们借助 PowerBI 云端存储大规模数据并使用 PowerBI。

值得指出的是,由于增量刷新的缘故,微软禁止用户从云端再次下载这个 PBIX 文件,这与普通模式是不同的。具体的细节,大家可以结合微软的官方文档参考。

对于增量刷新还有一些补充的说明,我们留到后面的文章再做介绍,但不影响我们可以正常使用这项重要功能了。

5bd4564dbbec6088ff4e586238cdc436.png

本文内容【源文件+视频讲解】从属于:年度订阅会员,已发布请享用。

您可能还感兴趣:

PowerBI 2020二月更新 真增量刷新全面普及
微软 PowerBI 被评为商业智能领导者-13年的企业产品奋斗史解读
【重磅】Gartner 发布2020企业高管顶级洞察指南 - 免费

让数据真正成为你的力量
加私信暗号:data2020

9a0da330a010d300029993a4179ce500.png

不同阶段伙伴都有完整的进阶通道

ebd23768bd7e41a8c3ccb16b6701afe4.png

0d0be402cea0cae7c651a72e55ead8bb.png

罗叔带你正确地系统化学习 PowerBI

让数据真正成为你的力量

免费体验 PowerBI:

fa583ec5c09e778d5978a27f44fc501a.png

【第1部,共6部】从零正确地系统化学习 PowerBI ↓

9e053e1b0637d423f0d8e964873cda74.png

【第2部,共6部】拖拽不能满足需求?系统化学习 DAX 来解决 ↓

69561c6b98f2ba97cdf62ef23836afee.png

【第3部,共6部】直接使用罗叔给你做好的套路解决问题 ↓

1e1a9fde78ac7c908255780a9b810ad3.png

【第4部,共6部】按照国际可视化标准作图 ↓

9556bf7d17c155586e136535d5ec6ea5.png

【第5部,共6部】为您揭示 自助BI 的本质(无需前置学习)↓

44563e7f336c12bdc6a4846a052f12de.png

【第6部,共6部】成为年度订阅会员,尽享 PowerBI 高端资源 ↓

e93e758bd5b1604c273e0fba28a5f6cf.png

我是BI佐罗,让数据真正成为你的力量

56ab9066ac3b2d3b71116f77b1ee07f6.png

37c4cef721d400c8c748593dcb70cb51.gif点击【阅读原文】进入【学习中心】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值