跳至正文

【新书摘要】第三章:问题分析方法与故事慧预告

编者按:最新新书,本以为比之前容易了,结果还是绞尽脑汁,最近已经在第三章耗费了两周时间,今天终于打通了关键的关联,开始落笔成文贯穿其中。这里先分享几个最简单的知识,作为预告吧。

2021年2月26日故事慧,会沿着这个思路讲解“业务分析中的结构性分析”。敬请期待

第3章 地平线:问题分析方法与数据基础

3.1 问题的静态构成与字段第一分类

目前,业务分析有三个代表性的工具,分别是:业务人员使用的Excel透视表、IT技术人员常用的SQL结构化查询语言,以及以Tableau为代表的拖拉曳敏捷BI工具。不同的工具之间虽有明显的差异,但是背后的逻辑过程却基本一致。它们的“共同点”,就是业务分析的关键,这里概括为问题的静态构成和动态的聚合过程。

举例而言,领导要求分析“在消费者细分市场中,各产品类别的销售额总和与平均折扣”。分析问题本身的构成要素,可以清晰地分为三个部分,分别代表分析的范围、分析的问题是什么、问题的答案如何衡量。如图3-1所示:

  • 样本范围:消费者细分市场(即筛选“细分”字段,只保留“消费者”)
  • 问题描述:各产品类别
  • 问题答案:销售额总和与平均折扣(总和与平均是聚合方式)
图 3‑1 每个问题都是由三个部分构成的

这样的分析有助于业务用户快速聚焦结果,并通往后期的聚合过程、问题类型和图形选择。

…………

本书把这个分类称之为“字段的第一分类”。在“行级别级别·字段”的讲解中,会进一步介绍字段的属性与分类。

概括的是,“定性字段”(qualitative field)描述问题(是什么),“定量字段”(quantitative field)回答答案(有多少),这是数据分析中最为重要的原理之一。

3.2 分析的动态过程:聚合是本质

既然已经清晰了问题的构成,那么如何从成千上万乃至亿级的数据获得上面的三行三列的结果呢?

……

3.5 “复杂问题”的特征与分析方法

阐述至此,想必不少读者已经觉得有点生涩难懂,业务问题其实更加多样,上面是复杂问题的常识基础。

本书把单一层次的维度、聚合构成的问题称之为“简单问题”,比如“2020年,各类别的销售额与利润”。把在简单问题基础上,通过增加多种方式可以走向“复杂分析”和“高级分析”。

本小节首先介绍“复杂问题”的分类,然后介绍理解复杂问题和高级分析的逻辑方法。

3.5.1 “复杂问题”的多个分类

所谓的“复杂问题”,其实就是简单问题的“叠床架屋”层层堆积,这里划分为三种分类,对应不同的问题解决方法。

  • 包含多个聚合度量,甚至行级别的预先处理计算(A1)
  • 建立在视图聚合度量基础上的的二次计算(A2)
  • 样本、维度或聚合中间接引用其他维度层次的计算(A3)
  • 问题中包含多个聚合的代数计算和行级别预先计算

这个类型最为简单,比如:

  • 各类别的销售额、利润、利润率……
  • 各类别的销售额、利润、利润率及“桌子的销售额”

乍一看,它和此前的“各类别销售额”没有本质区别,都是样本(这里是总体)、问题维度聚合度量构成的。这一类问题的基本特征是,问题中包含很多数据表字段没有的度量计算,比如“利润率”和“桌子的销售额”,而两者又有所不同。

  • “利润率”属于最基本的聚合计算——SUM([利润]) / SUM([销售额]),聚合使用已有字段,计算只是简单的代数计算(加减乘除等),“毛利率”“折扣率”等很多比值计算都属于此类
  • “桌子的销售额”则代表另一个类型,在计算销售额总和之前,还需要现在数据表的明细中做预先筛选和处理——SUM( IIF([子类别]=’桌子’,[销售额],NULL) )

如果是在Excel的明细中理解,可以视为先创建一个辅助列,把所有“子类别”为“桌子”的行返回它的销售额,不符合的全部为空,然后再计算整列的合计。

这一类计算虽然也是聚合计算,但是聚合建立在行级别明细数据中的预先准备基础上。

正因为此,在行级别有效的大部分函数,其设计的目的即在于保持数据明细稳定的基础上,通过辅助计算完成数据准备和处理,比如查找函数、替换函数、拆分函数、日期函数等等。在《数据可视化分析》中,笔者把这一类型的函数统称之为“行级别计算函数”,在此也可以理解为“数据准备函数”,它们的优先级高于聚合和聚合判断。

  • 问题中包含了“聚合的聚合”计算

第二类问题是上一类的升级版,这里的聚合计算虽然也是加减乘除的代数运算,但是增加了计算的方向和范围。比如:

– 各细分市场中,不同类别的销售额总和,及其占比(即“细分*类别”层次的聚合除以“细分”层次的聚合,两种聚合范围不同)

– 2020年,各月的销售额总和与YTD销售额(即从年初到当前月份的移动累计,计算具有方向性)

– 2020年,各客户的销售额总和,及其排序(即销售额总和的排序,排序是特定范围内的比较计算)

– 各年度的销售额总和,及各年同比增长率(同比增长率涉及到聚合计算,同时具有方向)

诸如此类的问题,涉及累计计算、合计百分比、聚合的排序、同比环比等业务分析主题,它们的共同点是问题的样本、问题结构保持不变,而在聚合度量基础上,做进一步的二次计算——二次计算的关键是有方向或者范围要求。

这就是“利润率”聚合和“利润同比增长率”聚合的本质差异。

在SQL中,此类计算可以使用窗口函数等方法完成,Tableau中则有对应的“表计算”函数。对于业务用户而言,后者更容易入门。

  • 间接引用其他层次计算

真正的难点在第三类,本书中称之为“高级分析”。它与此前两类的关键差异是增加了维度要素,而非仅仅是聚合的计算。

在3.1小节,本书把任意问题都分为三个构成“样本、问题描述(维度)和问题答案(聚合)。如图3- 所示,不管是样本、问题维度,还是聚合,任意部分都可以间接引用另一个维度层次的聚合值。

……

3.6 从问题分析视角看数据分析的发展阶段

……

Feb 5, 2021 喜乐君

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading