1.1 如何让Excel报表自动化
小勤:现在公司里的报表好多,但其中很多都是重复的,比如月报、周报、日报……
大海:为什么不做成自动化的呢?
小勤:自动化?那不是要用VBA吗?对公司里的大多数同事来说,哪有那么多精力和能力去学习VBA啊?
大海:谁说实现报表自动化就要用VBA?
小勤:我也在用函数、数据透视……但公司的报表数据来源太多,比如历史数据都是一堆分散的Excel表,每天还有新的数据被放到不同的表里,表的格式又不太一样,不同部门或不同领导还要看不一样的数据……
大海:这些需求都很正常啊,哪家公司的数据不是这样的?虽然现在很多公司的系统都是越来越完善,但是,仍然有大量的外部数据要通过Excel等方式来处理,所以,这些需求对绝大部分的公司来说,都是差不多的。
小勤:那怎么办?
大海:下面先看看大多数公司里存在的两种报表类型,一种是数据整理型报表,另一种是数据分析型报表,如图1-1所示。
图1-1 常见报表类型
小勤:数据整理型报表就是将原始数据进行简单的整合、转换格式或筛选数据等就发给别人的报表?
大海:是的,也就是说,对于这些数据通常不需要进行分析,最多就是将全部数据合并到一起后,按需要增加或删除一些列,剔除一些敏感信息,或者纠正一些信息,进行简单的过滤或分类汇总等操作后就发给别人。
小勤:这种情况是挺多的,很多报表其实并没有进行太多的分析,而且是,这个部门要这样子的,那个部门要其他样子的,所以就得按他们的要求整理出来发给他们。甚至,很多时候其实只相当于帮他们简单地查找数据,但是因为数据不能很快地被整合到一起,这种工作往往也是最枯燥、最耗时、最费力的。
大海:对,数据整理真是一个又苦又累的活儿!下面说一说数据分析型报表。虽然,数据整理是数据分析的前提。但是,与数据整理不太一样的是,数据分析可能涉及大量的计算、数据透视等,而且,很多时候要从不同的维度去观察数据,所以要求报表尽可能做成动态的,可以让使用的人按需要选择不同的维度,从而得到不同的分析结果……
小勤:这就更难了。对一般人来说,能按不同领导的要求,将原始数据通过数据透视表等功能做成不同的汇总表就不错了。当然,也可以通过添加一些切片器来实现维度的选择,但是,数据透视表也有很多时候达不到要求……
大海:所以我们才要学新的东西。
小勤:除了VBA,还有什么?不是网上那些插件吧?我也用过一些插件,很多功能做得很好用,但也做不到让报表自动化啊!
大海:当然不是,既不是VBA那么难学的功能,也不是网上的插件,而是Excel的超级强大而又简单易用的新功能——Power Query和Power Pivot(或者微软的自助商业智能产品Power BI)。
小勤:啊?你一下说了这么多个Power XXX,让人很晕啊。它们到底是什么关系啊?
大海:Power BI其实是一个独立的软件,个人用是免费的。但Power BI跟Power Query、Power Pivot、Power View、Power Map等是有关系的。但它们的关系也不是很复杂。你可以先这样简单理解:
● Power Query是用来做数据查询和转换的。还记得Excel里的数据导入功能吗?它可以把数据整合到一起,然后进行各种各样的复杂转换。你可以将Power Query理解为它的升级版。
● Power Pivot是用来做数据建模和数据分析的。还记得Excel里的数据透视表吗?你可以将Power Pivot理解为它的加强版。
● Power View是用来做数据展示的。还记得Excel里的图表吗?你可以将Power View理解为它的整合版。
● Power Map是专门用来做数据的地图化展示的,这是Excel里原来没有的。
小勤:经你这么一解释,Power系列工作好像也不太复杂。其实还是对数据的整理、分析、展现这些内容,只不过都升级或强化了?
大海:对,可以这么理解。
小勤:那Power BI是怎么回事儿?
大海:Power BI是微软将这四个功能进行了大整合,然后推出的一个独立的工具,如图1-2所示。
图1-2 Excel、Power系列工具及Power BI的关系
小勤:但是,我用Excel这么久了,好像没见过这四个功能啊。
大海:的确,目前还很多人不知道这些强大功能的存在。因为在Excel的2010版和2013版中,这些功能有的要到微软官方网站下载插件并安装,而到了Excel 2016版,微软直接将它们融合到Excel里了,甚至都没有再叫Power Query了(Power Pivot等名称仍有保留,但也需要专门加载到菜单中)。所以,如果你不经常关注Excel的新功能或微软的一些新产品,那么可能不知道它们的存在和相互间的关系。
小勤:原来有这么多个Power系列工具。但你为什么在介绍报表自动化的时候,强调Power Query和Power Pivot,而不太说Power View和Power Map呢?
大海:因为报表自动化的核心在于数据的整理和分析,当你学好Power Query和Power Pivot后,再去按需要制作一些基础的图表或在地图上展示数据时,会发现往往只是一些简单的数据拖曳和属性设置操作而已。另外,图表展示虽然可以归入数据分析范畴,但它是一个相对专业的领域,如果需要深入学习,则需要专门的教材。所以,我重点介绍的是Power Query和Power Pivot。
小勤:那Power BI呢?
大海:Power BI的核心也是Power Query和Power Pivot,学好Power Query和Power Pivot,不仅能在Excel里实现报表的自动化,也为以后学习Power BI打下良好的基础。在9.6节也给出一个Power BI的简单例子,这样你就可以很快过渡到Power BI的学习了。
小勤:懂了。总之,先把Power Query和Power Pivot学好再说。