3.1.1 问题的结构及其相互关系
在笔者的知识体系中,深刻地理解问题的结构,是通往“字段角色”分类、高级分析、筛选和交互等广阔业务分析世界的窗口。
1.问题的结构解析
以如下的问题为例,用下画线、灰色背景、加粗文字来表示不同的构成。
· 2021年,东北地区,各个类别、品牌的销售额总和、利润率。
· 销售额总和前50名的客户,(它们在)不同区域的销售额总和贡献。
· 保留包含桌子的订单(购物篮),各子类别的销售数量及连带销售比率。
以逗号和“的”为分界,任何问题都包含3个部分:分析范围、分析对象、问题答案。分析范围对应筛选技术,因此也称为“筛选范围”。它们之间的结构和相互关系如图3-2所示。
图3-2 问题分析是一切的起点
分析是对业务和数据的抽象过程,最重要的抽象技术就是聚合,对应SUM、AVG、COUNT等多种聚合函数。因此,聚合是分析的本质。聚合对应问题答案,问题答案是问题中唯一必须明示的部分。
如果分析范围或分析对象对应数据表的全集,那么它们可以被省略。它们常常对应“总公司”“全部”“所有”这样的词语。同理,中文默认的聚合方式“总和”也常常被简化。比如,
· “公司总人数”——对应完整问题:“保留全部数据,全公司的总人数”。
· “各地区的销售额”——对应完整问题:“保留全部数据,各地区的销售额(总和)”。
· “昨日销售额”——对应完整问题:“昨日,全公司的销售额(总和)”。
2.问题结构的相互关系
问题中的3个部分是紧密关联在一起的。
其一,分析范围影响分析对象的分组数量,决定问题答案的聚合值大小。
比如,“华东地区,各省份的销售额”和“东北地区,各省份的销售额”,虽然问题结构、分析对象、聚合答案相同,但由于区域不同,省份分组的数量和数据聚合值也就截然不同。
其二,分析维度决定问题答案的数量,更深刻地说,“维度是聚合的分组与计算依据”。
问题的关键是“问题是关于什么的”和“问题答案是多少”,分别对应分析对象和问题答案。在理论上,学者把它们概括为维度和度量。抽象聚合后的数据表有几行、聚合值有几个,是维度决定的;或者说,维度决定了问题的抽象化程度。比如,“全国的销售额”比“各省份的销售额”更加抽象,反之,后者更具体。
它们彼此的关系都将时刻贯穿在本书后续章节中,特别是“维度是聚合的依据”。
3.从问题结构到分析方法
问题结构中的各个部分对应不同的分析技术。其中,分析范围对应筛选(Filter),分析对象对应详细级别(Level of Detail,LOD),问题答案对应聚合(Aggregation,AGG),每个部分都可以自成体系,相互组合成为复杂、高级的问题类型,如图3-3所示。
图3-3 各个问题部分对应的分析技术
基于这样的理解,本书分章节介绍问题的主要技术。
以计算为例,如“东北地区,各省份的销售额总和”这种简单问题,每个部分都可以和数据表的已有字段直接对应。随着问题复杂性的提高,每个部分都需要借助计算完成,如表3-1所示。
表3-1 不同难度问题的结构与计算(基于Tableau自带超市数据)
可见,计算是从基本分析到复杂分析、高级分析的关键,计算构成了分析中的“血液”,也构成了本书第3篇的内容。
由于筛选主要影响数据值的大小,问题的结构主要由分析对象和问题答案决定。因此接下来将暂时搁置筛选(见第6章),集中介绍分析对象和问题答案。