《数据可视化分析2.0:分析原理与Tableau、SQL实践》

喜乐君·业务数据分析吴玉朋(喜乐君)2022-12-19 22:33

Tableau主题畅销书,重磅发布全新第二版!

全新的框架、绘图,几乎全部重写的内容,期待帮助更多人进步!

——喜乐君

封面设计(by Wendy Shijia,Tableau Visionary)

第二版自序

感谢Tableau和读者的支持,你们给了笔者继续前进的动力。

相比“修订”,更准确的是“重写”。时隔两年,笔者完全重写了全书95%以上的内容,重新绘制了几乎每张插图。只有这样,才能既感谢读者对本书的支持,又能反映笔者两年来的学习和进步。

1.      本次修订的关键内容,总结如下几点:

• 业务分析方法和体系更加成熟。提出了“业务-数据-分析”的框架体系,并介绍了笔者数据咨询中常用的数据地图方法(第二章)。围绕问题结构、聚合、聚合度和详细级别,构建了一个普适性的业务分析方法,适用于各种分析和BI工具,甚至可以作为衡量分析工具的一种尺度(第三章)。

• 在数据合并、数据筛选、计算三大主题,对比介绍了Excel、Tableau和SQL的应用场景,帮助没有相关背景的人更快实现超越,也有助于SQL出身的“技术派”更好理解敏捷BI的精髓。高阶的BI绝非拖拉曳那般简单,在技术平民化的背后,是更巧妙的“业务灵魂”。

• 将“数据筛选和交互”独立为第六章节,进一步强化筛选在业务分析中的重要性。筛选的类型多样、优先级复杂,应该尽可能避免滥用SUMIF类型的条件聚合,将筛选视为分析的独立环节,是优化分析性能的关键方式。

• 强化“详细级别”的概念(替代之前的“层次”概念),在数据表详细级别(Table LOD)、视图详细级别(Viz LOD)之外,使用“引用详细级别”(Reference LOD)代表视图之外预先指定的详细级别;于此,笔者把数据关系、筛选和计算三大关键融为一体,这将是本书最重要的知识资产。

• 调整了第三篇计算的知识框架,没有计算,就没有无尽的业务分析。第八章强化了计算的Ltda分类,行级别计算完成数据准备、聚合计算完成业务分析;第九章使用了新的框架介绍Tableau表计算和SQL窗口函数,表计算代表的“抽象的二次抽象”,是迈向高级分析的第一个台阶;第十章则结合“SQL聚合子查询”深入讲解LOD原理,结合产品购物篮、客户RFM等经典案例,把高级分析中“预先聚合”的理念,推广到更普遍的业务分析之中。第三篇是本书绝无仅有的特色。

• 增加了“从数据管理到数据仓库”的新章节(第11章),相关内容是从可视化分析走向专业的数据建模、数据方法的关键。“视Tableau Server为DW/BI平台”,给了更多企业全新选择。

• 受限篇幅,移除了之前Prep Builder数据处理、Tableau Server相关的大部分内容

 

2.      鸣谢

每次写作完成,我总是迫不及待地分享。如同《数据可视化分析》《业务可视化分析》,本书付梓之前,笔者在上海组织了“喜乐君精品课”线下活动,详尽介绍了本书的核心内容,并在分享过程中帮助自己确认了知识体系的盲点。感谢来自天合光能、汉德车桥、上海电气、海南航空、上汽集团、英飞凌等企业的热心读者。

感谢继续支持和信任我的企业客户,我就用专业和热爱回报大家。

感谢Tableau,你给了我穿过迷雾的勇气,我也将无期限地支持你,对得起“Tableau传道士”的称号,对得起Tableau Zen Master/Visionary的全球荣誉。

感谢我的父母,我的家人,“大爱无言”,我当用余生以行动回报。

 

喜乐君

2022年 11月12日

 

 ————————

目录

(印刷版本还在调整中,因此最终版本会有细微差异)

点击阅读>>这个颜色的可以点击跳转链接)

第1篇 奠基:数字化转型与分析原理

子曰:“学而不思则罔,思而不学则怠。”

—— 《论语·为政》

第1章数字化转型:21世纪的机遇与挑战

1.1  理解数据的层次及分析的价值

1.2  数据应用的3个阶段 点击阅读>>

1.2.1  初级·报表展现:信息的整理与固定展现

1.2.2  中级·商业智能:分析辅助决策,决策创造价值

1.2.3  终极·“智能商业”:大数据重塑商业模式

1.3  “数字化转型”到底 “转”什么

1.3.1  塑造实事求是的数据文化:“一切用数据说话”

1.3.2  数字化转型源自各个业务场景的数字化和持续进化

1.3.3  业务和技术兼备的卓越中心和分析型人才

1.3.4  统一并持续优化分析方法论,提高分析效率和准确性

第2章 “业务-数据-分析”分析体系与企业数据地图

2.1  “业务-数据-分析”体系:BDA分析框架

2.1.1  分析层:指标体系建设和分析仪表板

2.1.2  数据层:数据管理与数据仓库

2.1.3  业务层:业务流程与“业务在线化”

2.2  建立全局视角:企业数据地图(data map)

2.3  两种企业级分析推进路径:“自上而下”与“自下而上”

2.3.1  自下而上:从数据出发的分析之路

2.3.2  自上而下:从问题和指标出发的分析之路

2.4  可视化是大数据分析的桥梁和媒介

2.4.1  数字、文字的可视化及可视化要素

2.4.2  从可视化到抽象分析:走向仪表板和高级分析

2.5  Tableau:大数据敏捷业务分析的“代表作”

第3章业务可视化分析:关键概念与方法论

3.1  启程:解析问题结构、理解聚合过程

3.1.1  常见问题的结构解析

3.1.2  聚合是问题分析的本质过程

3.1.3  聚合背后的字段分类:维度描述问题,度量回答答案

3.1.4  指标是聚合度量的业务形态 new

3.2  明细表与聚合表:聚合的起点和终点

3.2.1  业务明细表和问题聚合表:聚合的起点和终点

3.2.2  物理表与逻辑表:明细表和聚合表的抽象表达

3.2.3  字段的数据类型:明细表和聚合表背后的共性

3.3  可视化图表:聚合交叉表的“另一面”

3.3.1  问题类型与可视化增强分析

3.3.2  可视化背后的数据类型:连续和离散

3.3.3  Tableau中的字段属性及其作用

3.4  业务可视化分析“三步走”

3.5  聚合度和详细级别:构建复杂问题层次理论

3.5.1  数据明细表和聚合度:多个问题的公共基准和衡量尺度

3.5.2  详细级别:不同聚合度问题对应的抽象依据

3.5.3  结构化分析两个应用方向

3.5.4  关键概念汇总:聚合、聚合度、详细级别、颗粒度

第2篇 数据准备与可视化、交互设计

“I only know that I know nothing.”

(我唯一所知的是我一无所知)

——古希腊·苏格拉底

(Socrates,公元前469—公元前399)

第4章数据表合并与关系模型(Tableau/SQL)

4.1  数据合并与连接数据源

4.1.1  理解数据合并、数据模型的重要性

4.1.2  数据合并和数据模型的相关概念

4.2  数据合并的分类矩阵与数据模型案例

4.2.1  “所见即所得”的行级别数据合并:Union和Join

4.2.2  Excel的局限:基于数据透视表的数据合并

4.2.3  使用Tableau数据混合,快速完成聚合的连接

4.2.4  数据合并“分类矩阵”:两种合并方式、两个合并位置

4.3  行级别并集、连接与Desktop/SQL方法

4.3.1  数据并集(Data Union)

4.3.2  数据连接(Data Join):连接条件与连接方式

4.3.3  高级连接的形式:仅左侧连接、交叉连接与“自连接”

4.3.3  明细表并集(Union)与连接(Join)的异同点与局限性

4.4  从数据关系匹配到关系模型

4.4.1  “临时”数据关系:基于问题层次创建数据关系匹配

4.4.2  数据模型:在最为详细且有业务意义的级别预先构建数据关系

4.4.3  【关键】层次分析方法:从数据合并到数据关系模型

4.4.4  【难点】关系模型优化(上):匹配类型(基数)

4.4.5  【难点】关系模型优化(下):匹配范围(引用完整性)

4.4.6  共享维度表:从雪花模型到网状模型

4.4.7  通往最佳实践:业务关系模型的可视化表达

4.4.8  案例:图书及销售的数据关系模型

4.5  重说数据混合:编辑匹配关系和匹配详细级别

4.5.1  数据混合设置:自定义混合条件和自定义匹配字段

4.5.2  高级数据混合:数据匹配的详细级别不同于主视图

4.6  SQL/Python:数据合并与模型的底层工具

4.6.1  SQL中数据合并相关的语法

4.6.2  SQL中的视图和“物化视图”

4.6.3  Tableau Table Extensions:给数据合并插上“算法之翼”(2022.3+版本)

第5章  可视化分析与探索

5.1  数据准备:理解业务过程与整理数据字段

5.1.1  数据表:理解业务过程及“数据表详细级别”

5.1.2  字段:理解业务过程的对象并做分组分类

5.2  从问题到可视化图形:如何确定主视图框架

5.2.1  从问题类型到可视化图形

5.2.2  “三图一表”:条形图、折线图、饼图与交叉表

5.2.3  分布分析、相关性分析

5.2.4  地理空间可视化:特殊的分布

5.3  可视化绘制方法与可视化增强

5.3.1  像油画一样做可视化:可视化三步骤和标记的使用

5.3.2  度量双轴及其综合处理

5.3.3  多个坐标轴的“公共基准”:度量值

5.4  高级分析入门:参考线与参考区间

5.4.1  参考线的创建及其组合

5.4.2  甘特图和标靶图:条形图与参考线的两种结合方式

5.4.3  参考区间、盒须图、标准差分布

5.4.4  置信区间模型

5.4.5  趋势线与预测线

5.4.6  集群

5.5  格式设置:必要调整,但不要过度

5.5.1  常见的设置格式工具栏

5.5.2  设置“标签”格式,自定义文本表

5.5.3  工具提示的格式设置、交互和“画中画”

5.5.4  其他常用小技巧

第6章Tableau/SQL筛选与集操作

6.1  理解不同工具背后的筛选方法与共同点

6.1.1  筛选的两类位置及其差异

6.1.2  使用不同工具完成“独立筛选”

6.2  筛选的分类方法:基于详细级别的视角

6.2.1  【入门】数据表行级别的筛选:维度筛选器

6.2.2  【进阶】指定详细级别的聚合筛选:简单条件和顶部筛选

6.2.3  【高难】指定详细级别聚合的筛选:建立在自定义计算之上

6.3  筛选范围的交互方法

6.3.1  快速筛选器(Quick Filter)及其基本配置

6.3.2  特殊的日期筛选器:默认筛选到最新日期

6.3.3  参数控制:完全独立和依赖引用

6.4  多个筛选的处理:数据集和优先级

6.4.1  多个筛选的基础知识:数据集及运算

6.4.2  多个筛选的计算原则(上):相同类型取交集(intersection)

6.4.3  多个筛选的计算原则(下):不同类型看优先级(Priority)

6.4.4  调整筛选器优先级(上):上下文筛选器和表计算筛选器

6.4.5  调整筛选器优先级(下):数据源筛选器和数据提取筛选器

6.4.6  筛选与计算的优先级

6.5  集(Set):把筛选保留下来的“神奇容器”

6.5.1  创建自定义集及集的本质

6.5.2  自定义集内成员:“集控制”

6.5.3  创建动态条件集

6.5.4  集动作:以视图交互方式更新集成员

6.6  集的运算、优先级和应用

6.6.1  多个集的合并与“合并集”运算

6.6.2  集和筛选的关系及优先级

6.6.3  集的高级应用:控制用户权限的用户筛选器

6.7  中级交互:多表的筛选器、集交互

6.7.1  交互设计的基本分类

6.7.2  “以图筛图” :仪表板中的多表快速关联筛选

6.7.3  共用筛选器、集和参数:典型的仪表板交互

6.7.4  工具提示“画中画”:最简单的多表关联

6.8  更多实用工具:分组、数据桶、分层结构、排序

6.8.1  作为数据准备的“组”(Group)

6.8.2  分层结构钻取分析与仅显示相关值

6.8.3  排序:对离散字段的数据值排序

第7章仪表板设计、进阶与高级交互

7.1  仪表板Dashboard:最重要的主题展现形式

7.1.1  仪表板设计基本过程和常见功能

7.1.2  仪表板大小、布局和对象

7.1.3  常用的交互对象:隐藏按钮、导航按钮

7.1.4  仪表板布局中的分层结构

7.1.4  跨设备类型的仪表板适配

7.2  故事Story:以数据故事叙事、探索

7.2.1  故事及其基本设置

7.2.2  故事的阐述方式

7.3  仪表板进阶:“指标”、初始模板、性能优化与“数据指南”

7.3.1  “指标”Metrics:聚焦仪表板关键度量

7.3.2  “初始模板”(Accelerators):专家分析模板加速分析

7.3.3  发布工作簿和“工作簿优化器”(Optimizer)(2021.1+版本)

7.3.4  数据指南(Data Guide)(2022.3+版本)

7.4 三种基本交互类型:高亮、筛选和页面

7.4.1  突出显示(Highlight):以聚焦实现间接筛选

7.4.2  页面轮播(Page):快速筛选的连续叠加

7.5  两类高级交互工具:参数、集交互

7.5.1  关键原理:参数、集的共同点和差异

7.5.2  参数与逻辑判断结合:切换视图度量

7.5.3  动态参数:动态更新范围和初始值

7.5.4  集控制:以控件方式手动更新集成员

7.6  参数动作:参数、计算和交互(2019.2+版本)

7.6.1  参数动作:使用动作更新度量值

7.6.2  动态筛选:参数动作和计算实现差异化筛选

7.6.3  动态基准分析:使用参数动作控制参考线和计算基准

7.6.4  自定义分层结构:使用参数展开指定的类别

7.7  高级交互:指定区域对象的动态可见性(2022.3+)

7.8   高级互动的巅峰:集动作和集控制

7.8.1  经典集动作:交互更新自定义集(2018.3+版本)

7.8.2  集的控制与更新:赋予集以强大的灵魂

7.8.3  使用集完成对比分析和标杆分析

7.8.4  高级互动的使用建议

第3篇  以有限字段做无尽分析:Tableau、SQL函数和计算体系

第8章计算的底层框架:行级别计算与聚合计算

8.1  计算的演进及分类:从Excel、SQL到Tableau

8.1.1  计算的本质及其与业务过程的关系

8.1.2  以Excel理解详细级别与计算的两大分类

8.1.3  从Excel“存取一体”到“数据库-SQL”的存取分离

8.1.4  集大成者Tableau:将查询、计算和展现融为一体

8.2  计算分类与聚合过程:分析是聚合的抽象过程

8.2.1  行级别计算、聚合计算的差异和关系

8.2.2  从业务角度理解计算的结果:业务字段VS分析字段

8.3  数据准备类函数(上):字符串函数、日期函数

8.3.1  字符串函数:截取、查找替换等清理函数

8.3.2  日期函数:日期独特性与转化、计算

8.3.3  数据类型转换函数

8.4  数据准备类函数(下):“正则表达式”

8.5  分析函数:从明细到问题的“直接聚合”

8.5.1  描述规模:总和、计数、平均值

8.5.2  描述数据的波动程度:方差和标准差

8.5.3  关注个体、走向分布:百分位函数及最大值、最小值、中位数

8.5.4  ATTR属性——针对维度字段的聚合判断

8.6  通用型计算:算术函数和逻辑函数

8.6.1  算术运算、精度控制函数

8.6.2  逻辑表达式和逻辑判断符

8.7  行级别计算与聚合计算的区别与结合

8.7.1  实例:各子类别的利润与盈利结构分析

8.7.2  复习:行级别计算和聚合计算的差异

8.7.3  SUMIF条件聚合:将行级别筛选和聚合分析合二为一

8.8  专题:地理空间分析之“空间函数”

 

第9章高级分析函数:Tableau表计算/SQL窗口函数

9.1  合计的两个方法及“广义LOD表达式”

9.1.1  入门:从Excel理解“合计百分比”计算的层次关系

9.1.2  高级分析的层次框架:数据表详细级别和“聚合度”

9.1.3  进阶:“合计百分比”的两种SQL方法

9.1.4  Tableau敏捷BI,让业务用户轻松驾驭二次聚合分析

9.1.5  “广义LOD表达式”与计算的分类

9.2  “环比/同比”偏移计算及表计算设置方法

9.2.1  维度作为偏移计算依据:单一维度的同比差异

9.2.2  包含多个维度的同比(上):区别范围和依据

9.2.3  包含多个维度的同比(下):设置多个依据

9.2.4  SQL窗口函数:偏移类窗口函数案例介绍

9.3  小结:表计算的独特性及两种设置方法

9.3.1  从差异计算的两种方法理解窗口计算的独特性

9.3.2  Tableau设置范围的两种方法:相对/绝对方法与适用场景

9.4  高级分析函数之排序计算:INDEX与RANK

9.4.1  Tableau/SQL排序与百分位排序

9.4.2  公共基准对比:不同时间的电影票房对比(TC2)

9.4.3  凹凸图:随日期变化的RANK函数(TC4)

9.5  最重要的二次聚合函数:WINDOW窗口函数

9.5.1  合计:最简单、常用的WINDOW窗口函数

9.5.2  累计聚合:RUNNING_SUM函数——累计汽车销量

9.5.3  移动聚合:MOVING AVG移动窗口计算函数

9.5.4  “大一统”:千变万化的WINDOW窗口函数

9.6  最常用的表计算:快速表计算及其附加计算

9.6.1  快速表计算:预置的常见表计算应用

9.6.2  快速表计算的嵌套:表计算的组合(TC3)

9.7  表计算应用(1):自定义参考线、“合计利润率”

9.7.1  聚合值参考线——表计算的“可视化形式”

9.7.2  “合计利润率”:理解参考线对应的表计算

9.7.3  【难点】理解TOTAL合计与WINDOW_SUM汇总的差异

9.7.4  自定义参考线及其计算:盒须图松散化与散点图颜色矩阵

9.8  表计算应用(2):标杆分析——多种类型的计算组合

9.9  表计算应用(3):帕累托分布——累计、合计及嵌套

9.10  表计算应用(4):金融ANR计算——表计算高级嵌套

9.10  表计算筛选器:优先级最低的筛选类型

9.10.1  使用RANK聚合判断完成筛选

9.10.2  使用LOOKUP偏移函数完成年度同比和筛选

9.11  表计算延伸应用:预测建模函数(2020.4+版本)

9.11.1  MODEL_QUANTILE预测模型

9.11.2  MODEL_PERCENTILE预测模型

第10章结构化问题分析:LOD表达式(SQL嵌套查询)及案例应用

10.1  业务解析:理解LOD表达式的逻辑和本质

10.1.1  简单详细级别:“不同购买频次的客户数量”

10.1.2  多维详细级别:“各年度、不同矩阵年度的销售额贡献”

10.2  LOD表达式的“详细级别”及其与视图关系

10.2.1  从问题详细级别出发,理解高级问题的构成

10.2.2  主视图引用“更高聚合度”的详细级别聚合:占比分析

10.2.3  主视图引用“更低聚合度”的详细级别之聚合:购买力分析

10.2.4  主视图引用独立详细级别的聚合:客户矩阵分析

10.3  相对指定的LOD表达式及运算优先级

10.3.1  绝对指定和相对指定的LOD表达式

10.3.2  INCLUDE LOD引用更低聚合级别的聚合及优先级

10.3.3  EXCLUDE LOD引用更高聚合级别的聚合,及优先级对比

10.4  超越LOD:计算的详细级别体系及其优先级

10.4.1  不同计算类型的应用场景与作用

10.4.2  层次分析法:理解计算的运算逻辑及其组合形式

10.4.3  Tableau计算、筛选、数据关系的优先级

10.5  走向实践:多遍聚合问题与结构化分析方法

10.5.1  方法论:高级问题分析的4个步骤

10.5.2  LOD多遍聚合:客户购买力分析的嵌套LOD计算

10.5.3  嵌套LOD的语法和SQL表示

10.6  会员分析专题:会员RFM相关案例分析

10.6.1  会员分析概论与常见指标体系

10.6.2  使用Tableau完成 RFM主题分析指标

10.6.3  单维度的分布案例:会员频次分布和生命周期分布

10.6.4  多维度的结构分析:与“客户获客时间”相关的分析案例

10.6.5  复购间隔:行级别计算和LOD计算的结合

10.6.6  客户留存分析:LOD表达式、表计算的结合

10.6.7  客户矩阵分析:客户价值分类(matrix)

10.7  产品分析高级专题:购物篮分析的多个角度

10.7.1 购物篮比率:任意子类别相对于所有订单的比率

10.7.2 支持度、置信度和提升度分析:类别之间的关联推荐

10.7.3 指定类别的关联比率:筛选中包含“引用详细级别”

10.8  总结:高级计算的最佳实践

10.8.1  问题的3大构成与计算的4种类型

10.8.2  如何选择计算类型

第11章从数据管理到数据仓库:敏捷分析的基石

11.1  Data Management数据管理功能:以数据为中心

11.1.1  Tableau Catalog:数据资产和世系管理

11.1.2  Tableau Prep Conductor:数据ETL流程管理

11.1.3  Virtual Connections虚拟连接:数据库和分析之间的桥梁

11.1.4  Data Policy数据策略:为数据访问增加行级别权限

11.2  从数据管理DM,到数据仓库DW

11.2.1  数据仓库是数据分析发展到一定阶段的产物

11.2.2  数据仓库的逻辑分层

11.3  ETL:数据仓库中的数据处理

11.3.1  敏捷ETL工具Prep Builder简介

11.3.2  敏捷ETL工具对数据分析的影响

11.4  建议:视Tableau为DW/BI系统

——————————————————

END