什么样的Excel报表算超级报表?
首先数据量可能很大,超出Excel行数限制,比方一亿行;数据的种类很多,同一报表有的数据来自数据库,有的来自本地文件,有的来自Web等等。
第二,指标计算规则很复杂,复杂到传统Excel函数无法胜任。
最三,报表展示丰富多样,数据展示可能包含透视表,各种复杂合并单元格;图表展示包含Excel内置图表无法实现的样式,甚至很多图表插件也没有的图表,需要公司个性定制,并且图表与数据可以实时联动。
最后,这个报表还能自动刷新,设计完成后无需手工维护。
如何突破Excel的种种限制,实现以上功能?下面给出一个路径。
数据量大和数据来源多的限制可以使用Excel的Power Query解决。2013版需要下载插件,2016以后的版本内置。Power Query学习可以参考《Power Query:用Excel玩转商业智能数据处理》
计算规则复杂使用Power Pivot解决,Excel 2013专业版已经开始内置。学习可参考《Excel革命!超级数据透视表Power Pivot与数据分析表达式DAX快速入门》和《从数据到Excel自动化报表》
Power Query和Power Pivot建设好报表底层后,开始设计报表展现页面。展示分为直接的数据展示和图表展示。最常用的数据展示是透视表,可以在Power Pivot直接拖拽生成。
除了透视表还可以使用DAX直接生成表格,《将透视表伪装成表格的两种方式》分享了制作方法。
无论是透视表还是DAX生成的表格,都有个重大缺陷:不灵活。很多公司的管理层喜欢看各种合并单元格的报表,制作这种报表的传统方法是使用传统Excel公式,但这样无法方便的调用亿级数据也无法使用Power Pivot生成的复杂模型。CUBE系列函数可以解决这一难题,以下两篇文章详细介绍了解决方法:
将Power Pivot模型数据取值到单元格中(第1节)
将Power Pivot模型数据取值到单元格中(第2节)
这种方法不仅可以在单元格调用Power Pivot生成的结果,还可以像透视表一样实现与切片器的联动。
最后是图表展示。最基本的做法是使用Excel内置图表,内置图表也能花式制图,如这篇文章提到的大神,比较费神。更多的人制作漂亮的图表使用第三方插件,如EasyShu、tusimpleBI。
第三方图表的可能问题是很多公司不允许安装,或者无法满足公司更加个性化的需求。《Excel自定义任意图表的通用模式》这篇文章介绍了如何利用Excel的原生功能,低代码制作任意样式的图表,并且实现与数据实时联动。这种方法本质上是利用了SVG格式图片的矢量性和可编码性。
通过以上路径,打通数据处理、模型搭建到报表展现环节,你就可以在Excel做出超级报表。