首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >神秘消失的4月份数据与手动【增量刷新】

神秘消失的4月份数据与手动【增量刷新】

作者头像
陈学谦
发布于 2020-04-14 15:42:19
发布于 2020-04-14 15:42:19
9630
举报
文章被收录于专栏:学谦数据运营学谦数据运营

最近开车有点频繁,俗话说常在河边走哪有不湿鞋,今天就给大家说一个前两天的翻车现场。

本来呢,3月份用着好好的一个报告,数据源、desktop和云端报告都显示正常,员工也都干活挺给力的:

到了4月10号这天,我打开报告要适当修改一下模型,结果一刷新,发现4月份销售额怎么还是0。

不对啊,我这几位员工可是顶级销售员,一般都是每个月上旬都完成本月任务啊。而且上个月末又新入职了一位以前是二次元漫画作者转行过来当销售员的,据说刚来了两个周就直接把其他的同事按在地上吊打,直接破了单月历史记录。

我赶紧查一下数据源,没问题啊:

赶紧再去云端刷新看一下:

我们发现云端显示是正常的。

这是怎么回事呢?

思索了半天,原来是我之前将数据的【包含在报表刷新中】点了取消:

为什么要这么做呢?以上只是模拟数据,数据量比较小,请看真实模型:

3.5亿行数据,可惜数据库是MySQL,没法用增量刷新啊,苦恼。

由于前几个月的销售数据都不会再更改了,所以我在数据库中将销售数据分为本月之前数据beforethismonth表和本月数据thismonth表:

导入Power BI的数据自然也是两张表,再用UNION函数将两张表合起来,然后再将beforethismonth取消【包含在报表刷新中】,只在本地刷新thismonth表,这样就可以将之前的本地全部刷新时间由10分钟缩短为不到1分钟。

没办法,只能手动表演什么是增量刷新。

这样,每个月初,在数据库中修改一下视图的代码,就能将上个月的数据转移到beforethismonth表,开始一个新的循环。

还需要一个操作是:将beforethismonth更新一下数据:

但是!

我就是在修改完数据库后,并没有进行上面这个步骤进行数据刷新,导致我在desktop中丢失了整个3月的数据:

明白了原因后,再回到我们的模拟数据中刷新一下,本地数据也就更新到4月份数据了:

最后,我们来稍微说一下这两个刷新有什么不同:

点击主页的刷新按钮,其含义是通过刷新报表中的视觉对象来获取数据:

而如果在powerquery中取消【包含在报表刷新中】,代表刷新报表时并不会对此数据进行刷新。

而通过右键点击表-刷新数据,是很明确的从数据源获取最新数据,所以点击这个按钮后数据一定会更新到最新。

而云端刷新,就是通过网关直接刷新数据源,因此数据源发生改动,云端也会发生变化。这就是为什么当我看到本地缺失3月份数据时,大脑中第一反应是为什么发生这么严重的数据问题其他人都没有发现,而等我看了一眼云端报告发现一切正常时,才恍然大悟,对他们来说一切都是风平浪静。

最后再提醒一下大家,开车需谨慎,驾驶要安全。希望大家有所借鉴,避免重蹈。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档