2.1 从Excel到Tableau:不同的视角与层次思维
很多人对数据的理解和使用数据的习惯,还停留在Excel及其使用方法上。Excel是一个伟大的产品,它为所有人提供了输入、整理、查看和分析数据的工具,它也奠定了笔者从业多年对数据的基本理解方式。
不过,随着大数据时代的到来,在数据分析领域出现了一些深刻的变化,以至于微软也在Excel的基础上做出了很多转变和升级,推陈出新,最后整合为Power BI。
其一,随着数据从几千行到几千万行的爆炸式增长,查看明细数据的重要性已经降低,取而代之的是关注样本的整体特征,以及相互之间的关系,复杂问题还涉及多个问题之间的关联分析和结构分析,比如不同品类商品的交叉购买率、不同区域的客户购买力等。在《大数据时代》一书中就把“关心总体”视为大数据时代的关键特征。
其二,数据太多,注意力有限。数据分析师必须用直观、简洁的方式展示数据重点,传统的交叉图已经无能为力,符合直觉的可视化展示成为时代主流。
从基于明细的“小数据分析”到面向总体的“大数据分析”,是这个时代的大趋势。这个趋势的背后,是看待数据视角的根本变化——层次思维。这一思维将贯穿在本书各个章节,特别是第5章业务问题分析和第2篇高级计算环节。
2.1.1 IT分析师和业务人员看待数据的不同视角
过去,我们期望的正确答案,是基于明细汇总、自下而上的聚合视角,这也是IT分析师的思考逻辑。在IT分析师眼中,数据通常如图2-1所示。
图2-1 IT分析师视角的明细数据(为标题分类增加颜色)
IT分析师眼中的数据是这样的数据库样式:数据由哪些字段构成、每个字段的数据类型、字段之间的依赖关系等。IT分析师关心如何用简洁的架构完整地描述业务,比如零售企业的数据库如何保存每分每秒的商品交易——“什么时间?哪位客户?在哪个门店?购买了什么东西?以及其具体的交易数据”。因此,IT分析师看待数据的视角是静态的。
相比之下,业务人员更关心问题和答案,问题通常是一连串问题的组合,寻找答案更像“剥洋葱”,比如发现“日用品”利润总额大幅下滑,于是去验证与之相关的各种假设:是“日用品”下的某个子分类利润下滑,还是某些门店的销售折扣偏高?如果是折扣偏高,那么是集中在哪些子品类或者集中在哪一段时间?业务分析的过程,都是不同维度层次之间的钻取和关联分析,简单的问题只有一个数据层次,复杂的问题则同时包含多个数据层次及其相互关系。如图2-2所示,分析的过程就是在问题对应的数据层次上,完成聚合分析。企业中不同的数据用户看待数据的视角也会明显不同。
图2-2 数据分析的层次
下面列举几个常见的层次视角及其问题。
● 总经理和高管:关注总公司的关键业绩指标、业绩趋势、主力品类和客户的贡献变化,以及其他关键的结构性指标;
● 部门负责人:关注本部门的关键指标,更细维度的分类进度、达成和异常,随时间的业绩趋势和异常,异常门店的数据特征,员工的绩效指标,等等;
● 基层管理人员和员工:关注本岗位的业绩进度、绩效指标,特别是与绩效挂钩的关键指标(如新开发客户数、重点商品的销售数量和毛利达成情况等)。
同样一份数据,不同岗位、不同人的需求截然不同,对应问题所在的层次不同。业务分析师基本都是从一个问题到另一个问题的关联分析,对应的是数据背后的层次切换,而且业务分析师直接面向业务决策,而这明显超出了IT分析师对数据的掌握和理解。
正因为IT部门和业务部门看待数据的视角不同,IT部门重在“维护数据”,而业务部门重在“探索问题”。大数据时代,应该主张“谁拥有数据谁提供解释”“谁提问题谁找答案”,业务分析从IT人员主导逐步回归业务人员。在这种大趋势之下,“Excel式”的数据记录工具不能满足业务需求,“Tableau式”的BI工具让业务人员在数据汪洋中重生。
Tableau犹如大数据时代的Excel,数据大海中的钻井平台和炼油厂,我们需要实现从关注明细向关注层次、汇总及其相关逻辑转变,如图2-3所示。
图2-3 从Excel明细透视到Tableau层次分析
接下来,本书将介绍数据分析最重要的层次分析模型与层次思维,并在第5章、第8章、第9~10章中介绍层次分析的使用。
2.1.2 数据分析的层次模型
第1章我们介绍了理解数据的“数据—信息—知识—智慧”的DIKW模型,这是笔者迄今发现的理解数据层次最棒的框架。而2.1.1节介绍了IT分析师和业务人员看待数据的视角差异,业务的层次分析代表了大数据分析的未来,我们可以把IT的数据基础和业务的层次分析结合起来,构建一个“数据分析的层次模型”,作为后续学习可视化和高级计算的认知基础。
正如此前所说,IT分析师关注数据库级别的字段及数据逻辑。比如笔者之前工作过的零售企业,数据库中就会保存为“某个门店某个时间某个客户购买了某个商品编码的商品,原价X,折扣Y,应付Z,实付P……”。如何设计更好的数据表结构记录业务数据,是IT分析师和开发者要完成的工作。而业务人员关注问题,关注问题背后的数据逻辑和数据答案,并关注多个问题之间的关联关系。比如“本月各个区域的业绩如何?”“是哪些品类的销售异常导致了部分区域没有完成销售进度?”“这些品类的销售异常是由于绩效折扣低销售员没有促销动力,还是缺乏优惠折扣客户不感兴趣?”业务人员的问题是层层追问、伴随假设与验证的,业务分析师必须能快速地找到这些问题背后的数据逻辑,并建立多个问题之间的关联。因此,在第1章DIKW模型的基础上,笔者绘制了如图2-4所示的模型图,描述不同的分析视角所对应的数据位置。IT分析师关注数据基础设施和明细数据,而业务分析师主要是在“信息”层面探索数据之间的逻辑关系从而辅助决策。
图2-4 数据分析的金字塔模型
业务人员的每一个问题,都必然对应“信息”层面的数据。比如在查看全国销售业绩时,通常会先看不同区域的业绩达成情况(下钻分析),然后查看每个区域内的品类销售和随时间的进度趋势(筛选分析和趋势分析),后者还要增加当月累计汇总(下钻和计算)。每一层对应的是数据库的不同数据逻辑和字段。
用这样的思考方式理解业务问题,有助于增加对数据和业务的双重理解。
每一个业务问题,都必然包含一个主要的数据层次。复杂问题是在多个数据层次上寻求业务逻辑,主要包含两大类:多个数据层次的互动分析(使用仪表板和故事交互分析);一个问题中包含多个层次(使用高级计算)。
本书第5章和第7章介绍单一视图的层次分析和使用仪表板实现多个层次之间的交互分析。而在第2篇,借助行级别计算、聚合计算、表计算和狭义LOD表达式,则可以实现在一个视图中同时包含多个层次的数据分析。表计算的灵活和狭义LOD表达式的优雅,会简化复杂问题的思考难度,更好地探究数据逻辑,从而节省心智用于决策和行动。不断地增强交互性能和高级计算的灵活性,也是Tableau持续更新的两大主题,特别是集动作、集操作、参数动作、动态参数、空间函数,不断增强可视化分析的效果。
Excel关心数据明细,而Tableau关心层次,并能随着问题灵活更改数据层次。可以说,层次是从Excel到Tableau的最本质的思维升级,也是理解复杂问题、复杂表达式的关键。
Tableau的绝佳之处,就是释放了分析过程的想象力,可以在不断建立假设的过程中随时找到对应的数据层次,并借助可视化的方式轻松找到线索、建立解释,从而更快地辅助决策,提升业绩。“数据分析是连接数据资产和价值决策的桥梁”,而Tableau就是这座桥梁上最便捷的交通工具。
数据分析的关键是层次,而理解层次的推荐方式是假想有一座“数据冰山”。每当要进行分析时,可以先把数据表中的所有字段想象为冰山底层的颗粒,明细数据是分析的“原料”,而把问题所在的层次比作“海平面”。
以零售行业为例,每分钟、每家门店都在发生商品交易。每一笔交易的字段,构成了冰山底层的颗粒。我们要查看“每个品类的销售额总和”,问题的层次(即海平面)就是“品类”,而“销售额总和”是这个层次的答案,只需要把每一笔交易累加(即聚合)。数据分析的过程就是找到问题所对应的数据层次,并生成这个层次(海平面)的聚合结果。业务中常见的钻取分析,就是从一个特定层次开始,比如各品类的销售状况,然后根据数据线索不断调整分析的层次和高度。如图2-5所示,钻取分析意味着视图层次的变化,如果希望保持当前数据层次不动的同时增加另一个层次的数据,则需要使用第2篇中介绍的表计算或狭义LOD表达式实现。
图2-5 钻取分析的模型
2.1.3 层次、聚合度和颗粒度
很多词语都与“层次”有关,常见的有“聚合度”“颗粒度”“详细级别”,它们反复出现在各种数据分析软件(不仅仅是Tableau Desktop)和应用场景中,也是深入理解Tableau Desktop的关键。它们之间的相互关系,可以概括为:
● 层次的对象是业务问题,数据无高低层次,而问题有高低层次。
● 问题的答案是数据聚合,聚合就是将明细汇总的过程;聚合度越高,对应的问题层次就越高。
● 详细级别(Level Of Detail)即问题对应的维度,简称层次(Level)。
● 聚合度和颗粒度描述问题“详细级别”的高低,二者正好相反。
数据分析的重要工作就是用一个数值描述样本的总体特征,这个由多变少的数据计算过程,被统称为“聚合”,比如:
● 公司的销售额合计是多少?(求和)
● 商品的平均售价是多少?(平均值)
● 总共有多少个会员?(计数(不同))
● 昨日的最大交易订单金额是多少?(最大值)
在上面每个问题中,加着重号的关键词就是数据聚合的过程。那谁来决定问题的层次呢?由每个问题中的分类字段来决定,上面用蓝色来表示。每个问题都用层次描述问题,用聚合回答问题。每一个层次的问题都可以继续展开,比如在第一个问题的基础上,进一步分析“公司各个商品品类的销售额合计是多少?”这相当于“剥洋葱”的过程。
假设我们有5个商品品类,之前单一的“公司的销售额合计”数量就进一步分为5个数值,即“公司各个商品品类的销售额合计”,因此说这个数据层次的聚合度比前一个聚合度要低。如果我们继续分析每个商品品类、各个月的销售趋势,相当于“剥洋葱”的第二次下钻过程,那么聚合度会更低。可以用图2-6直观表达“剥洋葱”的过程,IT人员经常称之为“下钻”分析(Drill Down),与之相反的是“上钻”(Roll Up),统称之为钻取分析。
图2-6 钻取分析
与“聚合度”(Aggregation)相对应的概念是“颗粒度”(Granularity)。二者意义正好相反,聚合度越高,颗粒度越低,相反,聚合度越低,颗粒度越高。我们可以把每一个数据形象地比作沙滩上的沙粒,聚合度提高时,沙粒就会减少,“颗粒度”也就降低。
最高的聚合只有一个数值,比如“总公司的销售额”;相反,最低的聚合,也就是最高的颗粒度,是数据库中每一笔交易明细,可以想象为成千上万的数据颗粒散布在底层。
可见,聚合度和颗粒度都是表达问题所在层次高低的词语,要和“高/低”结合使用。由于数据视角的差异,IT部门往往偏向于用颗粒度的粗细/高低来表达一个数据问题的层次;而业务部门往往偏向于用聚合度的高低来表达一个问题的层次,因为前者关注明细,后者关注更高的层次。
作为初次接触数据分析的读者,请一定要先记住:数据分析的背后是问题所在的层次(详细级别),计算的过程就是数据的各种聚合与解聚。
那什么构成数据的层次?如何计算数据的聚合?Tableau Desktop如何用图形展示层次和聚合?就需要进一步了解数据的字段及其分类了。