我们用Power BI对Excel文档做分析应该是轻车熟路了。
比如,我们从本地获取xls格式的文档,建模、可视化、刷新一切ok,发布到云端,使用gateway配置和刷新也都没问题:
不过,如果将这个xls文件放在onedrive中,再使用下面的方法获取:
PowerBI从Onedrive文件夹中获取多个文件,依然不使用网关
在本地是没有任何问题的,云端配置避免了巨坑:针对“PowerBI从Onedrive获取文件”两篇文章做个补充 成功之后,一刷新,结果还是会出现问题(此案例由天行老师提供):
从错误信息来看,我们需要安装一个Access Database Engine2010。
不过,我们仔细想一想,我们是从onedrive中获取文件,整个刷新过程根本不经过本地计算机gateway,我们要把Access Database Engine2010安装到哪里呢?
而实际上,这个工具只要我们在pc上安装了office,系统中就自带了,根本不需要再单独安装,而且Power BI Desktop中获取数据和刷新是没有问题的,这就说明问题出在云端,而不是本地配置。
我们接着来查看错误信息中提供的链接:https://docs.microsoft.com/en-us/power-bi/desktop-access-database-errors
Troubleshoot importing Access and Excel .xls files in Power BI Desktop:
导入access和xls格式文件会出现的三个情况:
Situation 1: No Access Database Engine is installed
Situation 2: The Access Database Engine bit-version (32-bit or 64-bit) is different from your Power BI Desktop bit-version
Situation 3: Trouble using Access or .XLS files with an Office 365 subscription
前两个一般不会出什么问题,没有安装和安装错版本问题。
第三个,其实也是属于PBI desktop,跟我们的云端其实没什么关系:
所以,这篇解释文档也没有说明白怎么解决云端刷新失败的问题。
不过,我们大致也知道了原因:
.XLS文件格式问题。
.XLS格式也称为Excel 97-2003格式,而自Excel2007版之后默认的格式是.XLSX,而Power BI是微软在2015年7月发布的第一个商业版本。
很明显,Power BI向下兼容.XLS格式文件的效果较大概率得不到保证,所以出现这种错误,也是能够预料到的。
不过,出现错误提示其实并不可怕。至少我们可以根据错误提示想尽办法解决,比如将.XLS格式另存为.XLSX格式的文件。
最可怕的是不出现错误提示,数据却真实地出错了。
这种情况一旦发生,于企业:轻则让数据出现一定的失真但可能不实质性影响业务,重则直接导致数据分析错误造成公司业务发展出现漏洞甚至战略发展出现问题。于个人,轻则数据分析有偏差受到警告,重则因数据管理严重问题导致被开除。
以上情况很多企业都发生过。不过,绝大部分时候要么是数据分析人员业务能力不精,或者是数据分析时不太仔细,造成了一些比较明显的错误。
不过,如果我告诉你,即便你是一个业务能力过硬的运营人员, 数据分析能力也没问题,对于Power BI和Excel使用也都很熟练,仅仅让你从Excel文件中导入数据,用Power BI做一个最简单的柱状图,你仍然会出现严重的数据错误问题(注意:是严重的数据错误问题),你信吗?
有朋友会说,学谦,你这就有点危言耸听了吧,这么简单的操作,小白也不会出现问题的。
事实真的如此吗?请看下面的例子:
我有一张.XLS的表是这样的格式:
第一列是原始数字,2-4列为带格式的数字,红色都是负数,负数的格式用的是数值中的自定义格式:
这时我用powerquery将这张表导入模型:
这时候,你会发现最后一列的最后一个数字“-5”在这里显示的是5,有意思了吧。
接着往下走,进入powerquery编辑器,模型当中这个位置还是5:
关闭并加载,我们发现出来的结果仍然是5。
你可能会猜测,这个是不是因为显示的问题,实际上这个5就是-5,就跟上面的红色的5一样?
我们来做个测试,将以下两个数字进行求和,如果仅仅是显示的问题,那么结果应该是-10,但是结果却是0。
这就很明显了,一个带格式的数字“-5”,进了powerquery中转了一圈回来,就成了“正数5”。
你想想,这得多恐怖!
你说,这怎么办呢?答案很简单,将这张表另存为.XLSX格式就不会出现这个问题了:
以上只是举了一个例子,如果在真实的业务场景中出现这个问题会是怎样呢?
比如,我们拿到了一份财务的原始数据,是这样子的:
我们直接导入Power BI进行分析,最终会得到这样一个柱状图:
由此展开分析,虽然我们公司的整体市场销售受到疫情影响,但是2020年4月份利润相比2019年同期还是增长的!!!所以,老板,是不是可以给我加薪!!!
老板一看你的分析,那火?蹭的一下就冒起来了:什么玩意儿?我今年销售额比去年下滑了1/3,还打折降价促销,差点都吃不上饭了,我用屁股想想就知道今年4月份顶多是去年利润的一半,你跟我说今年利润比去年还高?你给我这扯犊子呢?
你看,被坑了吧。
如果将文件另存为.XLSX格式再分析,你会得到如下的柱状图:
今年4月份的利润差不多是去年4月利润的一半。
同一份数据,仅仅是因为格式不同,就能造成如此大的差别,得出完全相反的结论,你敢相信?
所以,都2020年了,你还在使用.XLS格式(Excel 97-2003格式)的文件吗?
还是乖乖用数据库吧,次条为SqlServer安装指南。
本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!