分享

案例:用Power BI制作Dashboard,出人意料的简单

 ExcelEasy 2022-05-05 发布于北京

本文是“Power BI和Excel的关系以及为什么要用Power BI”的后续。

本文介绍我们做过的一个Dashboard案例。通过这个案例,我们初步了解如何使用Power BI创建Dashboard。

今天的内容不涉及过多技术细节,主要目的是让大家建立一个用Power BI制作Dashboard的感性认识。

为什么要使用Power BI?

我认为,最重要的是Power BI使得开发一个“可视化交互式数据报告”的时间大大减少了。

这是从我自己的切身体验得到的经验。

当时,客户开始了一个新的数据分析项目。由于是老客户,所以,我们就延续了传统的做法:使用Excel来开发这个项目。

这是老一套了。

客户每月提供原始数据,我们根据客户需求,对原始数据进行整合。设计报告样式和所需要的可视化(图表等)。然后通过VBA处理数据,得到报告所需要的数据格式和内容,下面是其中的一页。

这种形式我们做了无数次了。客户可以通过各种选项进行交互,例如,选择市场,渠道或者KPI等等。

问题是客户的需求总是变化的,比较小的变化是改变数据的组织方式,比如,将某些SKU剔除出某些类别,又比如修改某些KPI的定义。还有对展示方式的修改,从不同数据的字体到希望能够多选某些选项。再比如,提出新的分析数据的角度。

每当提出一个新需求,就意味着两个麻烦:

  1. VBA代码要改。
    频繁的修改代码又会导致不可知的Bug的产生,这对开发人员的从生理到心理上都是很大的负担。

  2. 报告样式和图表格式的修改。
    这是一个非常繁琐的事情。在Excel中一旦报告样式确定,再次修改就面临着很大的挑战。而Excel图表尽管可以非常精细的调整样式,但是有时工作量是很大的。

这样,每次客户提出新的需求,这个修改都要持续比较长的时间,中间还会有各种反复。

客户和我们都有点承受不了了。

终于,在客户又一次提出了比较大的新需求时,我们开始与客户交流转移到Power BI上的可能。

没想到,客户马上就同意了。实际上,后来才知道,客户对Excel上的数据报告的方案也有各种不满意。

当然,我们以前只是出于兴趣自己研究了一下Power BI,并没有真正做过项目。所以,客户这么痛快的答应了以后,我们自己倒有点心虚了。

不过结果是出乎意料的好。

制作过程

下载一个Power BI Desktop(当然,之前还是应该搞一个Power BI的许可证,可以先来一个免费的试用许可,感受一下),微软网站上可以下载,这个工具是免费的。

然后就需要导入数据,就是将在各个Excel文件中的数据导入到Power BI中。这个导入是用Power Query完成的:

Power BI中集成了Power Query,在这里叫做获取数据和转换数据。

看看这界面,很熟悉吧。我们也介绍过很多Power Query的案例了。Power BI中的Power Query跟Excel中的Power Query一模一样。(其实有点不太一样,Power BI中的PQ多一些功能)。这一步本身没有太多需要说的,本质上就是将原来在Excel里用函数和VBA做的过程改用Power Query实现了。

导入后,就是实现数据模型了。使用Power BI最重要的就是这个数据模型。实现数据模型实际上就是创建关系:

在Excel中我们要分析数据,实际上是“源数据+数据透视”,很多工作是花费在如何得到或者改变源数据上。真正的数据透视其实比较简单。

在Power BI中分析数据,实际上是“数据模型+超级数据透视”,在原始数据和数据模型之间,通过Power Query实现自动化,然后通过超级透视进行分析。

关于数据模型和超级透视,我们以前也介绍过不少应用,后面还会陆续介绍相关用法。

与Excel中的Power Pivot不同,在Power BI中,是看不到透视表的真正面目的。因为在Power BI中,我们实际上是将数据展现在“画布”上,在“画布”上呈现一个一个的“视觉对象”,而这些视觉对象就是通过背后的Power Pivot实现的。

最左侧就是“画布”区域。接下来要做的实际上就是从“可视化”区域先择一个合适的视觉对象放在“画布”的合适位置,然后为视觉对象选择将要呈现的数据字段。

就是这么简单,当然还需要一定的格式化。

比如,我想展现不同厂商的三种产品的KPI对比,选择条形图,

在可视化中选择条形图,插入到“画布”中,拖dang放到合适的位置,然后从字段中选择厂商作为纵轴,将SKU作为不同的系列(即图例),然后将要展现的数据放到值字段上。

就做完了。

这个图表就可以根据我们的需要展现不同厂商的3个不同的SKU的对比了。当然,我们有很多SKU,不过我们可以针对每个视觉对象设置筛选器,让它只显示我们要的SKU:

这一点就比Excel强太多了!

而且这个图表还可以跟画布上的其他切片器联动,

随意切换不同渠道,不同时间周期,不同月份以及不同KPI的对比。

可视化对象看上去不多,不过可以去微软商店里下载,有很多免费的对象,有很多还是微软开发的。我觉得足够用了。

接下来就是将需要分析的对象做出来就好了,你可以将对象组织在不同的画布上。基本上都是不用太花精力的工作。

分享Dashboard

报告做完了,接下来就要分享了。这是一开始阻止我使用Power BI的一个重要原因。因为你没有办法把这个报告文件发给其他人。不像Excel,那玩意谁都有,也都会用。但是Power BI Desktop就不是谁的机器上都有的。

不过还好,Power BI提供了一个功能,可以发布成网页:

我认为这是一个非常好的功能。只要将网址告诉对方,就可以分享这个报告了,不需要用户名登录,非常方便。

当然,Power BI还提供了其他分享方式,更方便大家交流。但是我还是觉得发布成网页是最好的方式。

总结

从决定改成Power BI到最终交付给客户,只花了我3个工作日的时间。对于第一个Power BI数据报告来说,我觉得够快了。当然不是我的功劳,而是Power BI确实极大地简化了很多工作。将使用者从大量的手工工作和编程工作中解放出来,将精力集中在数据模型上。

当然,我也不是建议所有的报告都转移到Power BI中,有一些还是适合用Excel做的。尤其是Excel支持动态数组和增加了大量新函数之后。另外,Power BI还是需要一定的学习的。工具本身很简单,傻瓜操作。但是Power Query和Power Pivot有一定的要求,尤其是Power Pivot,具体来说就是要学习一下DAX。

不过也不复杂,毕竟DAX是从Excel的基础上发展出来的,有很多的相似性,至少入手的难度低了很多。

最后,再次建议大家尝试一下用Power BI做报告。

Excel+Power Query+Power Pivot+Power BI


Power Excel 知识库    按照以下方式进入知识库学习
Excel函数   底部菜单:知识库->Excel函数

自定义函数  底部菜单:知识库->自定义函数

Excel如何做  底部菜单:知识库->Excel如何做

面授培训  底部菜单:培训学习->面授培训

也可以在历史文章中学习Excel,Power Query,Power Pivot,Power BI,Power Automate各种技巧。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多