喜乐君 · 数据分析夏令营 2026 · 七期图文讲义
喜乐君·数据分析夏令营 2026 七期图文讲义:前七章为精编讲义(第 1 期为什么学、第 2 期问题怎么写、第 3 期从问题到图形、第 4 期分布与相关、第 5 期交互与仪表板、第 6 期计算的体系、第 7 期数据模型)。一句话总纲:业务 ← 数据 → 分析(左右开弓)。
喜乐君(XILEJUN):Tableau Visionary 名人堂成员,著有《数据可视化分析:Tableau 原理与实践》 《业务可视化分析:从问题到图形的 Tableau 方法》等。slogan:「唯有知识让我们免于平庸」。
本讲义把七次直播课整合为一册:前七章为精编讲义(课程要点 + 图解 + 结构化正文)。
图:七期一条线——从「问题」到「模型」
一句话总纲:业务 ← 数据 → 分析(左右开弓)。第 7 期落点:数据关系决定可用的详细级别。
目录
- 第 1 期 · 开篇引导:AI 时代为什么学数据分析
- 第 2 期 · 问题的结构与维度度量
- 第 3 期 · 可视化:从问题到图形
- 第 4 期 · 分布与相关性的分析原理
- 第 5 期 · 交互与仪表板设计
- 第 6 期 · 计算的体系:从 Excel 到 Tableau、SQL、Power BI
- 第 7 期 · 数据模型:从单表到多表
第 1 期 · 开篇引导:AI 时代为什么学数据分析
- 录制主题:第一期 B 站-00_03_45-01_02_21.m4a
- 录制时间:2026-07-08 21:30(北京时间)
- 发言人:喜乐君
- 系统关键词:可视化、数据分析、tableau、数据质量问题、历史、评分、业务经理、工具、真实、刻画
定位:本课是整期夏令营的"破题 + 铺垫",不教具体操作,只解决四件事—— ① 为什么在 AI 时代还要学数据分析;② 为什么选 Tableau;③ 用什么方法论贯穿全程(左右开弓);④ 怎么把 AI 融入这次夏令营。 后续技术课才解决"怎么做"。
受众:在校大学生,零基础友好。 主张:唯有知识,让我们免于平庸。 物料支撑:《下载指南》《安装与数据连接指南》《数据集推荐》《课前准备》+china_airports.csv本课目标:让学员先想清楚"为什么学、学什么、怎么和 AI 配合",后续技术课只解决"怎么做"。
〇、开场
目的:建立信任、交代地图、抛出主张、埋下钩子。
- 自我介绍:喜乐君,Tableau Visionary Hall of Fame(全球最高荣誉),著有《数据可视化分析》《业务可视化分析》两本书。一句话立人设:"我用了十几年 Tableau,今天不是来推销工具,是来帮你们建立一套能受用十年的分析脑子。"
- 夏令营地图:整期 = 第一次(今天,想清楚"为什么/学什么/怎么配 AI")+ 技术主线(后面几周,解决"怎么做")+ 结营路演。今天是所有技术课的"地基"。
- 抛出主张:"AI 越强大,越需要会分析的人。今天听完,希望你记住一句话——左右开弓,AI 为我所用。"
- 破冰钩子(二选一,建议用 A):
- A(推荐):"先问大家一个问题——如果老板问你'咱们上季度利润为什么下降',你会怎么答?" 把几个答案记在白板,留到板块 1 收尾时回扣。
- B:放一个真实 AI 幻觉案例(编了不存在的数据趋势),第一分钟制造认知冲突。
一、板块 1 · 为什么 AI 时代,更需要数据分析技能
核心命题:破"AI 能画图就不用学分析"的误解。AI 给结论,人给判断;数据素养 = AI 时代底层能力。
1.1 讲点一:AI 的边界在哪里
图:岗位被替代难度阶梯:越往上越难替代
- 大模型擅长:生成、归纳、对话——基于训练语料的概率续写。
- 大模型不擅长:基于你真实业务数据的因果判断与可验证决策。
- 关键区分:信息 ≠ 洞察。AI 能给你一堆信息,但"这条信息对我这个业务意味着什么、该做什么",只能人来判断。
1.3 讲点二:AI 时代分析能力的两个变化
- 门槛降低:过去取数、画图要写代码;现在 Tableau 拖拽、AI 辅助,任何人都能起步。
- 上限抬高:会分析的人 + AI = 如虎添翼(10 倍产出);不会分析的人 + AI = 被带着跑(10 倍错误地自信)。
- 顺带回扣开场白板上的"利润下降"答案:今天那些回答,正是没有数据支撑的"直觉"——技术课会教你怎么把它们变成"有证据的结论"。
二、板块 2 · 为什么 Tableau 依然是学习数据分析的首选工具
核心命题:立工具认知。AI 静态图 vs Tableau 可交互可追问的分析过程;Tableau 原理严谨、具有通用性,易用性无出其右、学习门槛低,且免费同时通往企业专业工具。
2.1 讲点一:一张图的本质区别
- AI 生成的图 = 一次性静态图片。你看到的就是全部;想"换成按区域看""只筛 Q2"——重生成、靠运气。
- Tableau 的分析过程 = 可交互、可追问、可追溯。同一份数据,拖一个筛选器、换一个维度,瞬间重新回答你的问题。
- 本质:分析不是"出一张图",而是"对数据连续提问"。Tableau 训练的是这种提问—验证的思维能力,AI 画图训练不出。
2.2 讲点二:Tableau 作为首选工具的三大理由(本课核心)
一句话总结:原理严谨、具有通用性;易用性无出其右、学习门槛低;免费,同时通往企业专业工具。
- ① 原理严谨,具有通用性
- 背后是一套严谨的数据分析理论体系:维度/度量、聚合、表计算、LOD 表达式、关系模型。
- 这套思维是通用的——学会后能迁移到任何 BI/分析工具,甚至用于校验 AI 的分析逻辑。学的是"分析原理",不是"某个软件的操作"。
- ② 易用性无出其右,学习门槛低
- 拖拽式交互,无需编程即可上手,把精力放在分析逻辑而非代码。
- "可视化即分析":图形倒逼你思考看什么维度、比什么度量,入门即建立正确分析直觉。
- ③ 免费,同时通往企业专业工具
- Public / Free 完全免费、零成本入门;学完直接对接职场——Tableau 是企业最主流的 BI 工具之一。
- 免费版与 Professional 核心分析能力一致,能力无缝迁移到企业场景,不存在"学了用不上"的断层。
2.3 讲点三:三版本对比(引用《安装与数据连接指南》)
图:Tableau 三版本对比:从免费入门到企业级
用指南里的对比表投屏,只讲三句关键差异,不逐行念。
- Public Edition:完全免费、无需信用卡;可发 Tableau Public 建公开作品集;不能连企业数据库;1500 万行上限。
- Free Edition(2026 新增):完全免费;可连数据库、可商用、数据完全私密;代价是不能发 Public。这是 BI 界"历史性转折"——免费且能连库。
- Professional:付费;企业协作、Server/Cloud 发布、含 Prep Builder。
- 选型口诀(让学员记下来):学可视化、用示例数据 → Public;连数据库或数据保密 → Free。两个都装也不冲突。
2.4 讲点四:免费化是学生的红利期
- 2024 年 Public 免费化、2026 年 Free 可商用连库——过去要花钱学的企业级能力,现在学生零成本可用。点一句:"你们赶上了一个工具民主化的窗口。"
2.5 讲点五:Tableau 与 Python 互补,不替代(伏笔"左右开弓")
- Tableau 做探索与沟通(看数据、做图、讲故事);Python/R 做清洗与建模(处理脏数据、跑算法)。
- 一句话过渡:"所以学数据分析,不是二选一,而是左手业务、右手工具——这正好引出今天最重要的方法论。"
三、板块 3 · 如何"左右开弓",建立业务→数据→分析全流程能力⭐ 本课最重要
核心命题:立方法论。业务向左,分析向右,数据在中间;从 BI 分析开始,能快速建立业务→数据→分析全流程能力。全流程:业务 → 数据 → 分析 → 决策。
3.1 左弓与右弓的定义
图:左右开弓:业务 ← 数据 → 分析
- 业务向左(左弓):业务侧——问题定义、指标口径、干系人沟通、结论落地。回答"我们到底想知道什么、凭什么这么说、然后怎么办"。
- 分析向右(右弓):数据技术侧——取数、建模型、可视化、验证。回答"数据从哪来、怎么组织、怎么画出来、对不对"。
- 数据在中间:连接业务与分析两端的桥梁。业务问题要靠数据才能落地,分析技术要靠数据才有对象——数据是把"左弓"和"右弓"绷成一张弓的弓弦。
- 两手对齐,才能拉满"分析之箭":只有右弓(会画图)没有左弓(懂业务)→ 图很漂亮但没结论;只有左弓没有右弓 → 观点很多但无证据。
- 从 BI 分析开始,最快建立全流程能力:BI(商业智能)分析天然就是"业务问题 → 数据 → 图形"的闭环。Tableau 这类 BI 工具让新手从第一天就能跑通全流程,比先学编程更快建立完整认知——先有闭环,再补深度。
3.2 全流程四阶段详解
图:业务 → 数据 → 分析 → 决策
- 业务:从"老板/客户想知道什么" → "可分析的指标"。
- 例:利润下降 → 拆成 区域 / 品类 / 时间 / 客户 等维度,才能定位问题。
- 数据:找数据、验数据、建模型。
- 关系型思维:区分维度表(描述"谁/什么")与事实表(记录"发生了什么"),用主键-外键关联。
- 示范(引用《数据集推荐》):示例-超市(订单/退货/用户 3 表关联)、国家统计局(天然星型模型)、行政区划 GeoJSON(层级关联)。
- 分析:用 Tableau 把问题变成图形。
- 维度/度量、筛选、排序、LOD 表达式、参数控制——技术课逐步教,今天先认识"这些是用来回答问题的方法"。
- 决策:用图形讲故事,给出可行动的建议。
- 分析的终点不是图,是"所以我们应该……"。
3.3 用一个案例把四阶段走一遍(建议贯穿演示)
图:两种“计数”的差距:库存周转率的本质
用开场白板上的"利润下降"案例,现场走完左→右→决策,让方法论"活"起来。
- 左弓(业务):利润下降不是结论,是起点。先问——分区域看?分品类?分时间?分客户?把模糊问题拆成"分析维度树"。
- 右弓(数据):需要利润表 + 订单表 + 退货表,按区域/品类关联;验证数据口径一致(利润=收入−成本,口径统一)。
- 分析:在 Tableau 里做区域利润地图、品类利润条形图、时间趋势折线——哪里掉得最狠,一眼可见。
- 决策:"华东区×家电品类 Q2 利润骤降 30%,建议优先排查该区供应商成本"——这才是分析交付物。
3.4 常见陷阱(作为后续技术课的"避坑"线索)
- 只有图形没有业务结论(右强左弱)。
- 只有观点没有数据支撑(左强右弱)。
- 数据口径不一致(左右没对齐,结论不可信)。
四、板块 4 · 我如何把 AI 融入这次夏令营
核心命题:定调协作边界。AI 做重复劳动,人做判断验证。
- AI 做重复劳动:写草稿、解释字段、排错、润色——省时间。
- 人做判断验证:结论对不对、数据口径对不对、该不该这么决策——必须自己来。
- 一句话:"AI 是副驾驶,你是驾驶员。"
第 2 期 · 问题的结构与维度度量
- 录制主题:问题的结构和维度度量 2026-07-11-213021
- 录制时间:2026-07-11 21:30(北京时间)
- 发言人:喜乐君
- 系统关键词:全流程起点、分析最小单元、核心原则、问题的统一结构、从答案开始、完整问题三要素、筛选器即"范围"、分析的本质、维度(dimension)与度量(measure)、指标是抽象的"虚数"、度量类型、问题决定图形
图:维度与度量:问题的左边是视角,右边是答案
这一期是夏令营的第二次正式课,定位是全流程与方法论——不讲零散操作,而是把我在客户培训中反复使用、去年刚整理的一套「问题的统一结构」框架立起来。后面几期的图形、筛选器、计算、模型,全部是这一框架的延伸。
一、全流程起点:从数据源到仪表板
第二次课我想系统地讲一下 Tableau 数据分析的全流程——它和具体操作有关。这套流程我习惯从 Desktop 开始(上次在群里发了下载链接)。
1.1 连接数据源与示例超市
图:全流程起点:从数据源到仪表板
全流程是从连接数据源开始的。官方提供了测试数据;如果你有生产数据(像我这边的客户 ERP 数据),可以建不同的连接主题。对零基础的同学,我更推荐直接点右边的「示例超市」仪表板——这是一个做好的仪表板。否则直接进数据源,往往不知道要做什么。我们先看一个仪表板样例,从它往前倒推:我们能做什么?
1.2 仪表板由「图 / 表 / 视图 / 工作表」构成
图:图形与表:一体两面
整个仪表板可以看作由多个图构成:上面一个交叉表、一个地图,左下角一个,右边一个,共四个图。不同工具叫法不同——Tableau 中叫「可视化视图」,有时也叫 view(服务器上写的是 view id),官方名字是 worksheet,全称 visualization。不管叫交叉表、chart 还是图,指的都是分析的最小单元。
通过右上角,我们可以任意把它转化成各种图形。图形和表是一体两面——传统 Excel 和大部分 IT 开发只看见背后的表,而我们可以按需转成不同的图。注意:转化有好坏之分。
二、分析从「问题」开始:问题的统一结构
2.1 必须有一个「的」:左边视角,右边答案
图:分析从问题开始:必须有一个「的」
从单个图再往前推,图是由字段构成的。字段就是问题的结构,有时也叫领导分析的视角。比如「订单日期」「销售额」「细分」都是字段,字段来自左侧数据源。
这里有一句话非常重要:分析是从问题开始的。很多人的分析不是从问题开始,而是从数据开始——先想「我有几个字段,能做什么」。分析从问题开始,意味着你要先理解问题的结构。
比如领导说「我想分析产品的销售」。这本身是个想法,结构很难落地,尤其现在很多人把这种问题直接丢给 AI,AI 往往很难理解真正的结构。我们要给 AI 一个确定性的结构,人人理解都不会错。应该是这样:「各个类别、子类别的销售额总和」。注意我写的是「销售额总和」而不是「销售额」,原因待会儿讲。左边是类别、子类别(我们叫分析视角),中间有个「的」,右边是答案。
这有点像英文里的 total sales by product——中英文表述常常相反,英文的 by 对应中文的「的」。英文里 total 不会省略,否则 sales 是平均还是最大说不清;中文常省略,但建议这里写上。
2.2 从答案开始:高到低的聚合过程
理解问题的统一结构,必须有一个「的」:左边是分析视角(领导问的问题关于什么),右边是答案(用什么值回答领导才满意)。一个问题不可能没有值。
我为什么强调把「的」左右写清楚?因为分析都是从问题的答案(右边)开始,而不是左边。我想让大家感受分析是从高到低的聚合过程:
- 先点「的」后面的部分:「销售额总和」写全是「所有产品的销售额总和」(「所有」是全集可省略,也可理解为「公司的销售额总和」)。
- 加上类别,一个值变成三个值(L1:每个类别的销售额总和)。
- 再加子类别,变成 17 个值。
双击「销售额」,默认生成的是一个值;点「类别」,一个值变成三个值。现在很多人没有这个习惯,描述想法时直接丢给 AI「无脑干完」。如果 AI 能无脑干完,就不需要人了。我们应该训练 AI 养成好习惯——从规范的问题结构开始。
2.3 完整结构 = 范围 + 维度 + 度量
图:完整的问题结构 = 范围 + 维度 + 度量
为什么上面的结构是「简化结构」?因为它不完整。统计学有个重要概念叫样本(sample),Tableau 里也有——度量上有「样本标准差」「总体标准差」「样本方差」。样本就是分析时取一部分。城市里科学家能通过水质倒推吸毒人数,经济普查也用抽样。99% 的分析基于样本而非总体。
所以更普遍的结构是:「2024 年,各个类别的销售额总和」——前面加「分析范围」。所有问题的结构都是:范围 + 视角(的左边)+ 答案(的右边)。三部分缺一不可:你说省了样本,其实样本就是总体;说省了维度,其实视角是最高层级,只是省了总体。我的描述约定是:逗号左边是分析范围,「的」左边是分析视角,「的」右边是答案。
三、筛选器即「范围」:限定分析边界
图:筛选器即“范围”:把分析限定在指定边界内
图:筛选在问题结构中的位置
有了结构,可以加筛选。比如看「年」:订单日期有多种取法,右键「显示筛选器」最简单,默认全集(显示所有年度);只勾 2024 年,视图就变。也可以把订单日期拖到筛选器选。结构和 Excel 筛选器一样。
大数据需要更高灵活性:换「区域」只勾「东北」,数据就变。从结构上说都是一样的核心问题结构。
四、分析的本质:分组 + 聚合
图:Excel 透视表:分析的本质 = 分组 + 聚合
4.1 pivot ≠ 转置,聚合才是必备
为加深理解,看一个解释图:核心问题最基本的结构由两部分构成——左边是分析视角,右边是答案。两者的关系是:左边是右边答案的分类依据(三个类别对应三个值,五个类别对应五个值,二者是一个总体)。
分析的本质是什么?从技术角度讲,分析如何实现?感受过程:Excel 里先有明细表(记录业务详细过程),要回答领导问题,于是有了透视。从明细表到透视表的过程,本质叫透视(pivot)——但我不喜欢这词,它误导人。pivot 英文默认是「转置」(行转列),早期 Excel 数据少,领导说「类别放上面」,这就是转置。后来数据量变大,转之前必须先完成一个动作:求和。这一步在 Tableau 叫聚合,在 Excel 叫汇总(「求和项」)。
4.2 聚合才是必备,转置不是
透视其实等于「汇总 + 转置」,但转置不是必备的,汇总是必备的。Excel 里可以不转置(类别都放下面);Tableau 里叫聚合(aggregate,简称 agg)。聚合方式很多:求和、平均、最大、最小、方差、标准差。准确地说,分析的本质是分组 + 聚合,二者都必备。Tableau 里别想转置——把类别拿下来也是一种样式变化,不是分析本质,是非必备的。
有了这个理解再看问题结构:以「的」分解,左边是视角,右边是答案;右边返回多少值由左边决定。所以问题的分析,右边是左边的分组依据。Tableau 中出现了最核心的概念:左边叫 dimension(维度),是观察问题的视角(多维度 = 多视角);右边叫 measure(度量)。理解了这点,Excel、Tableau、Python、SQL 结构都一样——SQL 里维度在 group by 后,度量在 sum / average 里。
Tableau 如何区分?拖字段时有根线:线上面是维度,下面是度量(早年 2020.2 前直接写「维度 / 度量」两个字,模型出现后用线区分)。注意是位置区分。
五、维度与度量:Tableau 如何区分
5.1 包含聚合方式的才叫度量
我常批评国产 BI:很多学生用了建立不起好理解。最基本的问题——什么是度量?国产工具说「销售额是度量」「数量是度量」,这是错的。什么是度量?「销售额总和」才是度量,必然包含聚合方式。你现在看见的「数量」只是明细表里的字段名称,叫数量;销售额也只是字段。从字段意义上看,数量、销售额、折扣、日期没有差异,都是字段。
用 Excel 说:数量在明细表里;我们说数量和利润、折扣没本质区别,都只是字段,不是度量。什么是度量?透视表里的「求和项:销售额」叫度量。我强调:包含聚合方式的才叫度量,它在明细表中不存在。 度量需要依据——左边叫维度。很多国产工具官方文档都写「数量是度量」,批评还不改。
5.2 度量只存在于问题之中,明细表里没有
这引出关键:度量是什么?度量是数据表中没有的,是业务过程中没有的,只存在于问题之中。
举个例子:心理测评,评估学生心理健康,刻画一个指标叫「平均得分」——一个人答很多题,若题型一样,用 average(得分) 即可。这个指标在明细表中没有,明细表只有每次答题卡的值。「平均得分」是你造出来的概念;「销售额总和」也是基于明细表造出来的概念。
有时「平均得分」不够:不同学校答题卡难度、分值体系不同(百分制、十分制),要转成统一系数(如 0~10 分);不同测评内容不同,如供应链里不同产品库存区间不同,要造「变异系数」拉齐。又比如用「标准差」刻画班级心理波动。这些平均、标准差、系数都做了多次处理,是聚合的二次处理,都是聚合方式。有了聚合方式才有指标——指标不存在于明细表,是我们对问题的想象与刻画。
六、指标是抽象的「虚数」
图:指标是抽象的「虚数」:由聚合造出
6.1 现实中不存在,但让事物可比
问题结构讲完,倒回去说指标:指标刻画问题的答案,这个答案在现实中不存在。现实中只有构成聚合的值——没有利润率、没有平均得分、没有销售额总和;现实中只有构成这些指标的明细。
我常举例子:√(-2) 在实数范围内没有平方根(负数平方都是正数)。几百年前科学家为了解题,必须造出这个东西,称为虚数(imaginary number)——现实中没有,但很重要,让事物可比。企业不知道上月利润率就别干了;学生脑袋上没有「健康指数」,是我们造出来的,但很重要。
6.2 指标的分类:简单聚合 vs 高级指标
分析是抽象的世界——这也是我依然看好 AI 时代分析未来的原因。Coding 是现实世界,逻辑确定,AI 很快;分析的抽象很多人(尤其 IT 出身、受唯物主义影响、只信看得见的东西)不好理解。他们常把销售额、库存周转率、利润率过度物化记进数仓——可以记,但要知道那已是临时物化的指标,只在有限范围有效。
指标必须基于聚合,按聚合分类:简单聚合(总和、平均、平均得分);标准差衡量班级心理波动,是高级指标(基于单个值与均值再处理)。指标有高低之分。这次讲的相对抽象,对后面很重要。
七、问题决定图形:最佳图形在写问题时已定
问题核心结构搞定了,再看任何图都知道是什么。比如「月、年、类别、销售额总和」——「销售额总和」有聚合方式,度量(指标)默认求和,也可改平均。不是每个度量都叫指标,就像不是每个指标都影响工资(叫 KPI)。
左边「类别」「年月」是观察视角(维度)。Tableau 自动生成的表述像「按产品划分的月度销售额」,不好;规范说法是「各类别各订单年月的销售额总和」。熟练后可不写结构直接拖图形:双击销售额出一个值(最高聚合),加类别变三个值,加订单日期默认按年。类别放上面强调共用轴,放下面强调各自趋势。
所有问题回到原点,结构最重要。不管哪个图,背后都是这样的描述;官方描述往往不好。我们基于简化结构延伸了分析本质:分析是抽象、是分组聚合。写问题时,右边写领导关心的指标,左边写维度(数据表里有什么),无限组合。至于组合后用什么图形,以后讲——问题的最佳图形在你写问题时就确定了,不是挑好看的。
第 3 期 · 可视化:从问题到图形
- 系统关键词:连续性、观察的视角、字段角色、坐标轴、交叉表、数据类型、条形图、心理状况、问题、盒须图
图:第 3 期 · 从问题到图形:可视化方法与三图一表
图:可视化框架:像化妆一样一层层叠加
前两期我们解决了一个根本问题:问题怎么写——第 1 期立起「业务→数据→分析」的框架,第 2 期把问题的统一结构讲透(范围 + 维度 + 度量)。
这一期的定位是可视化落地:把写好的问题真正变成图形。一句话概括本期主线——问题的最佳图形,在你写问题时就已经确定,不是挑好看的。这一期讲清它如何被确定。
本期要点预览
- 从问题到图形:复习问题结构,引出「分析目的」这一步,目的决定图形
- 字段的连续 / 离散:蓝色离散、绿色连续;离散生成标题、连续生成轴
- 三图一表:业务分析最通用的四个基本功,覆盖九成问题
- 分布分析图表:直方图、盒须图——看数据「长什么样」
一、从问题到图形:Tableau 的可视化方法
1.1 问题结构 → 分析目的 → 图形
图:从问题到图形:问题类型与可视化主视图
第 2 课我们写清了结构:「2024 年,各个类别的销售额总和」 = 范围 + 维度(的左边)+ 度量(的右边)。
写清结构之后,下一步要问自己一句:「我要用这个图回答什么?」——这就是分析目的。
- 比较谁多谁少?→ 条形图 / 柱状图
- 看随时间怎么变?→ 折线图
- 看占比构成?→ 饼图 / 环图 / 百分比堆积
- 看数据分布?→ 直方图 / 盒须图
- 看两件事是否相关?→ 散点图 / 气泡图
图形不是「挑好看的」,是「问题自然选出来的」。下表(以列表呈现)是目的与图形的对应关系:
- 比较 / 排序 —— 条形图、柱状图
- 趋势 / 时间 —— 折线图
- 构成 / 占比 —— 饼图、环图、百分比堆积图
- 分布 / 形状 —— 直方图、盒须图
- 关系 / 相关 —— 散点图、气泡图
1.2 连续 / 离散,是图形能否生成的开关
第 2 课结尾预告过:「什么问题生成什么图形——连续 / 离散属性决定能否生成轴」。这一句话在本期第二节、第四节都会落地。
二、字段的连续与离散特征
2.1 颜色即属性:蓝 = 离散,绿 = 连续
第 2 课讲了维度 / 度量——靠数据窗格里的「分隔线」区分(线上维度、线下度量),这是字段的「内容」分类。
这一课讲另一个同样关键的属性:连续(continuous)/ 离散(discrete)——靠颜色区分。
- 蓝色 = 离散:标题、标签、分组
- 绿色 = 连续:轴、数值刻度、连续区间
这是 Tableau 最容易被忽视、却最决定图形形态的属性。
2.2 离散 → 标题,连续 → 轴
把字段拖到行 / 列时:
- 离散字段生成「标题(header)」——即分组与标签,如类别、年份、地区;
- 连续字段生成「轴(axis)」——即数值刻度,如销售额、精确订单日期。
同一个字段可以连续也可以离散(右键即可切换):
- 日期「年」离散成标题、「订单日期」连续成轴;
- 度量右键「离散」也能变成标题(如销售额按离散值逐个列出)。
落脚点回到第 2 课预告:有连续字段,才有轴;有轴,才有折线、面积、散点这类图。
2.3 维度 ≠ 离散,度量 ≠ 连续
一个常见误解:以为「维度都是离散、度量都是连续」。
真相:维度 / 度量是「内容」分类(位置区分),连续 / 离散是「使用方式」分类(颜色区分),二者正交。
- 日期是维度,但可作连续(生成轴);
- 数量是度量,但右键可离散成标题。
三、三图一表:业务分析的四个基本功
3.1 为什么是「三图一表」
绝大多数业务问题,落到图形上就是这四个形态。表给精确、图给直觉;先把这四样练扎实,再谈花式图表。
3.2 四样基本功
- 交叉表(表):回答「具体数值是多少」——核对、下钻、导出,精确优先;
- 条形图 / 柱状图(图一):回答「谁多谁少、怎么排」——比较与排序;
- 折线图(图二):回答「随时间怎么变」——趋势与周期;
- 饼图 / 环图(图三):回答「占多少比例」——构成与占比。
3.3 表与图怎么选
同一份数据(各类别销售额):交叉表给精确值、条形图给排序直觉、饼图给占比感受——一体多用。原则:要「看准数」用表,要「看大势」用图。
四、分布分析图表:看数据的「形状」
4.1 分布是第五类分析目的
前三类的关注点是「高低多少」;分布关注的是「长什么样」——数据集中在哪、离散程度多大、有没有异常值。
4.2 直方图(Histogram)
连续度量按区间分箱(bin),看频数分布:
- 例:各订单销售额落在哪个区间最多——往往发现大部分订单「小、散」;
- 操作:右键度量「创建 → 数据桶」,再拖到行 / 列做计数。
4.3 盒须图(Box Plot)
看中位数、上下四分位、须、离群点:
- 例:各类别利润分布的「箱子」高低、须长短、离群订单;
- 与第 2 课「指标是虚数」呼应:分布是连续字段的统计特征,靠聚合造出。
4.4 连续 × 离散 = 分布
分布图的本质:一个连续字段(如销售额)+ 一个离散字段(如类别)作分面 / 颜色。这恰是第 2 课「分组 + 聚合」的可视化呈现。
第 4 期 · 分布与相关性的分析原理
- 录制时间:2026-07-22(直播)
- 系统关键词:可视化、相关性、字段分类、学生、颜色、图形、散点图、平均线、工具提示、P25
图:第 4 期 · 分布分析与相关性分析:从看“多少”到看“形状”和“关系”
图:分析层次递进:从看“多少”到看“形状”和“关系”
前三期走完了从"为什么学"到"问题怎么写"再到"问题怎么变图形"的主线:第 1 期立起"业务→数据→分析"的框架,第 2 期讲透问题的统一结构(范围+维度+度量),第 3 期把连续/离散讲清、练了三图一表(条形图、折线图、饼图、交叉表)。
这一期往前走一步:分布与相关性。三图一表回答的是"谁多谁少、怎么变、占多少"——这些靠直觉就能看懂。分布回答"数据长什么样",相关性回答"两件事有没有关系"——这两类分析需要统计思维,是数据分析从"看数"走向"看门道"的关键一跳。
本期要点预览
- 分析层次的递进:分布靠"计算变深"升级(数据桶、LOD、表计算),相关性靠"要素堆积"升级(普遍需要 3 个字段)
- 分布分析三图:直方图引出数据桶与 FIXED LOD、盒须图引出参考线(表计算的简化形式)、帕累托因涉及多次表计算仅简要说明
- 相关性分析两图:散点图(+ 参考线 = 波士顿矩阵)、双轴图(引出度量名称与度量值)
- 地理空间:经纬度都是连续字段,地图是特殊的"空间分布"
一、回顾与定位:分析层次的递进
1.1 第 3 课的五类分析目的
第 3 课讲过,分析目的决定图形,五类对应关系如下:
- 比较 / 排序 → 条形图、柱状图
- 趋势 / 时间 → 折线图
- 构成 / 占比 → 饼图、环图
- 分布 / 形状 → 直方图、盒须图
- 关系 / 相关 → 散点图、气泡图
三图一表覆盖了前三类——比较、趋势、构成。这三类的共同特点是:一个维度 + 一个度量,看的是"高低多少"。本期深入后两类——分布和相关性,再加上一个特殊的地理空间。
1.2 为什么分布和相关性是"更高级"的分析
"高级"不是指更难学,而是指分析复杂度更高。但分布和相关性达到"高级"的路径不同:
分布:用"计算"实现复杂性
- 三图一表只需简单聚合(总和、平均、计数)
- 分布需要更复杂的计算:数据桶(bin)分箱、FIXED LOD 表达式、表计算(参考线的底层逻辑)
- 字段数量没变多(仍是 1~2 个),但计算逻辑变深了
相关性:用"要素堆积"实现复杂性
- 三图一表是 1 维度 + 1 度量 = 2 个字段
- 相关性普遍需要 3 个字段:2 个连续度量 + 1 个维度或日期
- 计算逻辑没变深(仍是简单聚合),但字段组合变多了
一句话:分布靠"算得深"升级,相关性靠"堆得多"升级。
诠释难度也相应提升——条形图看高低(直觉即可),直方图看"形状"(要理解频数分布),散点图看"模式"(要判断相关性方向)。用第 2 课的话说:三图一表看的是"简单的聚合值"(总和、平均),分布看的是"高级统计量"(四分位、离散度),相关性看的是"度量之间的关系"——分析的抽象层次在提升,这正是第 2 课"指标是虚数"的延伸。
1.3 本期主线
一句话概括:从看"多少"到看"形状"和"关系"。
- 第二节:分布分析——直方图引出数据桶与 FIXED LOD,盒须图引出参考线(表计算的简化形式),帕累托因涉及多次表计算简要说明后跳过。分布是从简单分析到高级分析的转折点
- 第三节:相关性分析——散点图(+ 参考线 = 波士顿矩阵),双轴图(引出度量名称与度量值)。相关性靠要素堆积实现复杂性
- 第四节:地理空间——经纬度构成的连续空间,是分布的特殊形态
二、分布分析深入:从简单分析到高级分析的转折点
第 3 课第四节已简要介绍直方图和盒须图。本期展开讲清三者各自看什么分布,以及它们如何引出更高级的计算概念。
2.1 分布分析:从简单分析到高级分析的转折点
三图一表用的都是简单聚合(求和、计数、平均)。分布分析开始引入更复杂的计算——数据桶、LOD 表达式、表计算。字段数量没有显著增加,但计算逻辑变深了。这就是"分布分析是从简单分析到高级分析的转折点"的含义。
用第 2 课的框架理解:三图一表是"维度分组的聚合值"(每个类别一个值);分布是"聚合值的统计特征"(这些值集中在哪里、散得多开、有没有异常)。
2.2 直方图:频数分布——引出数据桶与 FIXED LOD
图:直方图:频数分布,并引出数据桶与 FIXED LOD
看什么:一个连续度量按区间分箱后,每个区间的频数(记录数)。
核心操作——数据桶(bin):
- 右键度量 →「创建 → 数据桶」→ 设定区间大小
- 数据桶是一种特殊的字段:它把连续度量切成离散区间,本质是"按值域分组"
- 分箱后计数(CNT),本质还是第 2 课的"分组 + 聚合"——只是分组依据从维度变成了值域区间
引出 FIXED LOD 表达式:
- 直方图有个常见需求:想在分箱的同时,固定某个维度的聚合级别(如"每个类别的销售额分布"中,先按类别固定聚合,再看分布)
- 这就引出了 LOD 表达式中的 FIXED 级别:
{FIXED [类别]: SUM([销售额])} - LOD 表达式让分析不再受当前视图层级的限制——这是从"简单聚合"走向"高级计算"的入口
- 详细用法将在后续"计算"课程展开,这里先建立概念
分布形态:直方图能揭示数据的概率分布形状。业务数据中常见的形态包括:
- 泊松分布(右偏):大量小值、少量大值——如订单金额分布(多数小额订单,少数大额订单)
- 正态分布(钟形):中间多、两头少——如考试成绩、身高
- 均匀分布:各区间频数接近——较少见,如随机抽样
📌 喜乐君标注:直方图最常揭示的是泊松分布(右偏)——这恰恰说明业务中"长尾"是常态:少数客户贡献多数收入、少数产品贡献多数销量。
业务含义:直方图告诉你"数据分布是否均匀"。如果严重右偏,意味着少数高值拉高了均值——此时用"平均"会误导,应该看中位数。
2.3 盒须图:集中度分布——引出参考线与表计算
图:盒须图:集中度分布,盒与须都是表计算的简化形式
看什么:一个连续度量的五数概括——中位数、下四分位(Q1)、上四分位(Q3)、须线边界、离群点。
核心概念——参考线(Reference Line):
- 盒须图中的中位数线、四分位线,本质上都是"参考线"
- Tableau 的参考线可以手动添加:平均线、中位数线、恒定线、百分位线
- 关键理解:所有参考线都是表计算的简化形式
- 平均线 =
WINDOW_AVG(SUM([销售额]))的图形化封装 - 中位数线 =
WINDOW_MEDIAN(...)的图形化封装 - 参考线让用户不用写表计算就能实现同样效果——它是表计算的"快捷方式"
- 这为后续课程埋下伏笔:先认识参考线(图形化),再学表计算(表达式),理解会更深
分布形态:盒须图看的不是"频数形状",而是"集中程度":
- 箱子高度(IQR = Q3 − Q1):中间 50% 数据的范围,越窄越集中
- 中位数位置:箱子中线,偏上说明右偏、偏下说明左偏
- 须的长短:数据的整体离散范围
- 离群点:超出须线的点,通常是异常值
与第 2 课的关联:盒须图的统计量(中位数、四分位)与第 2 课讲的"标准差/方差"同属高级统计量——标准差是离散程度的数值度量,盒须图是离散程度的图形度量。
业务含义:盒须图告诉你"不同类别之间,数据分布是否一致"。如果某个类别的箱子特别高、离群点特别多,说明这个类别的波动大,需要单独分析。
2.4 帕累托图:头部集中效应(简要说明)
帕累托图 = 降序条形图 + 累计百分比折线,用于验证"20/80"头部集中效应。
为什么本期跳过实操:帕累托图的实现涉及多次表计算(累计汇总 + 总额百分比 + 双轴),对入门学员负担过重。这里只建立概念:
- 如果前 20% 的维度值贡献了 80% 的度量值 → 存在头部集中,应聚焦关键少数
- 如果分布接近均匀 → 帕累托图无指导意义
具体操作将在后续"计算"课程中展开。
2.5 三种分布图表的对比
- 直方图:引出数据桶 + FIXED LOD → 频数分布形状
- 盒须图:引出参考线(表计算的简化形式)→ 集中度分布
- 帕累托图:涉及多次表计算 → 头部集中效应(本期跳过实操)
三种图表的共同特点:字段没变多,但计算变深了——这就是分布分析作为"转折点"的含义。
三、相关性分析:两个度量的关系
3.1 要素堆积的复杂性:从"一个度量"到"两个度量"
分布分析靠"计算变深"升级,相关性分析靠"要素堆积"升级。
三图一表是 1 维度 + 1 度量 = 2 个字段;相关性分析普遍需要 3 个字段:2 个连续度量 + 1 个维度或日期。计算逻辑仍是简单聚合,但字段组合变多了——图表的复杂度来自"字段数量"而非"计算深度"。
用第 3 课的术语:相关性需要两个连续字段各生成一个轴——两个轴都是绿色的。分布是"字段少但算得深",相关是"字段多但算得浅"。
3.2 散点图:两个连续度量 × 离散分类
图:散点图:两个连续度量 × 离散分类
看什么:两个连续度量分别在 X 轴和 Y 轴,每个点代表一个离散分类值(如一个产品、一个客户),看点的分布模式是否呈现规律。
怎么做到:
- 度量 A 拖到列(X 轴)、度量 B 拖到行(Y 轴)
- 离散维度(如子类别)拖到「详细信息」或「颜色」——每个离散值变成一个点
- Tableau 自动按离散维度聚合两个度量
关键理解:散点图的"相关"是两个度量在离散分类上的相关。
- 每个点 = 一个离散值(如一个子类别)的聚合
- X 坐标 = 该子类别的销售额总和
- Y 坐标 = 该子类别的利润总和
- 点的分布模式揭示:销售额高的子类别,利润是否也高?
三种模式:
- 正相关:点从左下到右上分布——X 大 Y 也大
- 负相关:点从左上到右下分布——X 大 Y 反而小
- 无相关:点散乱分布——X 和 Y 没有明确关系
与第 3 课的关联:散点图需要两个连续轴——这正是第 3 课"连续→轴"的延伸。条形图只需要一个连续轴(Y),散点图需要两个(X 和 Y),所以它天然需要两个连续度量。
业务含义:散点图帮你发现"两个指标是否联动"。比如"广告投入 vs 销售额""产品评分 vs 复购率"——如果正相关,说明投入有效;如果无相关,说明投入方向可能有问题。
进阶:散点图 + 参考线 = 波士顿矩阵
- 在散点图的 X 轴和 Y 轴各加一条平均线(参考线),四个象限自动形成
- 这就是波士顿矩阵(BCG Matrix):明星(双高)、金牛(低增长高份额)、问题(高增长低份额)、瘦狗(双低)
- 波士顿矩阵是散点图最经典的应用——用参考线把"相关"变成"分类"
- 呼应第 2.3 节:参考线是表计算的简化形式,这里用它把散点图从"看关系"升级为"做决策"
3.3 双轴图:两个连续度量 × 连续日期
图:双轴图:两个连续度量 × 连续日期
看什么:两个度量共享一个连续日期轴,各占一条 Y 轴,看两条线的趋势是否同步。
怎么做到:
- 连续日期拖到列(X 轴)
- 度量 A 拖到行 → 度量 B 也拖到行
- 右键第二个度量 →「双轴」
- 注意:两个度量的量纲可能不同(如销售额 vs 利润率),需右轴独立刻度
关键理解:双轴图的"相关"是两个度量在连续日期上的相关。
- X 轴 = 连续日期(如月份)——两个度量共享
- 左 Y 轴 = 度量 A(如销售额)
- 右 Y 轴 = 度量 B(如利润率)
- 两条线的走势是否同步?同涨同跌?还是一升一降?
与散点图的对比:
- 散点图:两个度量在离散分类上的相关——静态关系(每个点是一个类别)
- 双轴图:两个度量在连续日期上的相关——动态关系(随时间变化)
用第 3 课的连续/离散框架:
- 散点图 = 2 个连续度量 + 1 个离散维度(2 绿 + 1 蓝)
- 双轴图 = 2 个连续度量 + 1 个连续日期(3 全绿)
与第 3 课的关联:双轴图是第 3 课折线图的升级——折线图是"1 个度量 × 连续日期",双轴图是"2 个度量 × 连续日期"。多了一个度量,就多了一个看问题的角度。
业务含义:双轴图帮你回答"两件事是否同频共振"。比如"销售额 vs 退货率"——如果销售额涨时退货率也涨,可能说明促销带来低质量订单;如果销售额涨时退货率降,说明业务健康。
核心概念——度量名称与度量值
- 双轴图的操作涉及 Tableau 的两个特殊字段:「度量名称」(Measure Names)和「度量值」(Measure Values)
- 「度量值」是一个容器,把多个度量打包在一起
- 「度量名称」是一个维度,标识每个度量叫什么
- 把「度量值」拖到行、「度量名称」拖到颜色,可以快速实现多度量的并排比较
- 双轴图是「度量值」的一种特殊用法:两个度量共享日期轴,各占一条 Y 轴
3.4 相关 ≠ 因果
一个重要提醒:散点图和双轴图看到的是"相关"(两个度量一起变化),不是"因果"(一个导致另一个)。
- 相关:冰淇淋销量和溺水人数正相关——但不是因为吃冰淇淋导致溺水,而是因为夏天两者都升高
- 因果:广告投入增加导致销售额提升——需要业务逻辑支撑
图表能发现相关,因果判断需要业务理解——这正是第 1 课"左右开弓"中左弓(业务)的价值。
四、地理空间:特殊的"分布"
图:填充地图:区域按聚合值填色
图:符号地图:点 = 位置,大小 / 颜色 = 度量
图:四象限划分:以两个度量交叉看业务结构
4.1 经纬度 = 两个连续字段
地图的本质是什么?经度(X)和纬度(Y)都是连续字段——两个连续字段构成空间,数据点在这个空间中分布。
用第 3 课的框架:经度和纬度拖到行/列后都生成轴(绿色),和散点图的"两个连续度量各占一轴"结构完全一致。区别在于:散点图的两个轴是任意度量(销售额 vs 利润),地图的两个轴是地理坐标(经度 vs 纬度)——轴的含义被赋予了空间意义。
4.2 地理分布是"空间分布"
分布分析看的是"数据在数值空间中的分布",地理分析看的是"数据在地理空间中的分布"——本质都是分布,只是空间的维度不同。
- 直方图:数据在"值域空间"中的频数分布
- 盒须图:数据在"统计空间"中的集中度分布
- 帕累托:数据在"排序空间"中的头部集中
- 地图:数据在"地理空间"中的位置分布
4.3 回顾机场图:最小闭环的空间版本
第 1 课用 china_airports.csv 做了机场地图——把经纬度拖到行/列,自动成图。当时把它定位为"分析思维最小闭环"。现在回头看,那张图就是地理空间分布的典型例子:
- 业务:想知道"中国机场怎么分布"
- 数据:经纬度(两个连续字段)
- 分析:点在空间中的密度分布——东部密集、西部稀疏
- 决策:枢纽城市一目了然
Tableau 的地理角色自动识别功能,让经纬度字段被赋予了地图投影——这是 Tableau 相对于普通散点图的增强:同样是两个连续轴,但轴的刻度变成了地理坐标,背景变成了地图。
4.4 地理图表的类型
- 符号地图(点图):每个地理位置一个点,点的大小/颜色编码度量——看"哪里有、哪里多"
- 填充地图(等值线图 / choropleth):每个区域按聚合度量填充颜色——看"区域之间的差异"
两种地图的关系,类似条形图与热力图的关系——一个用位置/大小编码、一个用颜色编码。
五、分析层次总结与后续预告
5.1 分析层次的递进
把四期课的图形体系串起来,分析复杂度逐层递进:
第一层:比较 / 趋势 / 构成(三图一表)
- 字段组合:1 维度 + 1 度量
- 回答:谁多谁少、怎么变、占多少
- 图表:条形图、折线图、饼图、交叉表
- 诠释:直觉即可
第二层:分布(靠"计算变深"升级)
- 字段组合:1 连续度量 + 分箱/统计量(+ 离散维度)
- 复杂度来源:计算逻辑变深——数据桶、FIXED LOD、参考线(表计算的简化形式)
- 回答:数据长什么样、聚在哪里、少数是否占多数
- 图表:直方图、盒须图、帕累托图(本期跳过实操)
- 诠释:需要统计思维
第三层:相关性(靠"要素堆积"升级)
- 字段组合:2 连续度量 + 1 维度或日期(普遍需要 3 个字段)
- 复杂度来源:字段组合变多,但计算仍为简单聚合
- 回答:两件事有没有关系、是否同频
- 图表:散点图(+ 参考线 = 波士顿矩阵)、双轴图(引出度量名称/度量值)
- 诠释:需要关系思维,且相关 ≠ 因果
特殊层:地理空间
- 字段组合:2 连续字段(经纬度)+ 度量
- 回答:数据在空间中怎么分布
- 图表:符号地图、填充地图
- 诠释:空间思维
5.2 贯穿始终的主线
所有图表都回到第 2 课的核心:范围 + 维度 + 度量。
- 三图一表:范围 + 1 维度 + 1 度量
- 分布:范围 + 分箱维度 + 1 连续度量(或 + 离散维度分组)
- 相关性:范围 + 1 维度/日期 + 2 度量
- 地理:范围 + 2 连续地理字段 + 度量
字段越来越多、组合越来越复杂,但底层的"分组+聚合"逻辑没变——变的只是分组的维度更多、聚合的度量更多。
注:文中 FIXED LOD、表计算等计算概念仅做概念引入,详细用法在后续"计算"课程展开。文中"泊松分布"为教学简化表述,直方图可揭示多种分布形态,泊松分布是业务数据中最常见的右偏形态之一。
第 5 期 · 交互与仪表板设计
- 录制主题:夏令营_第5次课_课程导读-B
- 录制时间:2026-08-07 23:36
- 发言人:喜乐君
- 系统关键词:销售额总和、大客户、行级别筛选器、分组聚合、动态的集、仪表板、区域、分层结构、详细级别、转折点
图:第 5 期 · 交互与仪表板设计:从静态图形到可探索的分析
图:七期三阶段:指标 → 问题 → 交互与模型
图:从交互五构件到仪表板:零件 → 装配
📌 正式课 · 课前要点(直播前发布,供预习) 录制回放:课后补充 配套逐字稿:夏令营_第5次课_逐字稿.md(课后整理)
前三期走完了"问题→图形"的主线:第 2 期讲透问题的统一结构(范围+维度+度量),第 3 期把图形落地为三图一表,第 4 期深入分布与相关性。这些图有一个共同点——每张图都只回答一个固定角度的问题。
真实业务分析不是"看一张图",而是"换角度、下钻、联动"地追问。这一期我们让图形"活"起来:先用筛选、组、集、层级、参数搭出交互的五个基础构件,并讲清它们之间的优先级关系(尤其是集与维度筛选的先后),最后把这些构件装进仪表板,用对象布局与动作串成一块可探索的分析面板。
本期要点预览
- 交互五构件:筛选、组、集、层级、参数(参数是让前四者"动起来"的胶水)
- 筛选器优先级:条件集 / 顶部集先于维度筛选;上下文筛选器用来调整这个优先级
- 仪表板:对象布局(平铺/浮动/容器)+ 动作(筛选/突出显示/URL/集)
一、回顾与定位:从"一张图"到"一块板"
1.1 前四期的主线
- 第 2 期:问题结构 = 范围 + 维度 + 度量("指标是虚数")
- 第 3 期:三图一表,把问题变成图形
- 第 4 期:分布与相关性,从"看多少"到"看形状、看关系"
这些成果都是单图、单角度。一旦业务方想问"换个区域看看""点一下下钻""重点客户高亮一下",单图就不够了。
1.2 本期主线
一句话概括:从静态图形到可探索的分析。
- 第二节:交互五构件——决定"数据怎么被挑、被分、被钻、被改",以及它们之间的优先级
- 第三节:仪表板——把上述构件组装成一块板,用对象布局与动作串成可探索的分析面板
1.3 与往期的衔接
- 第 2 期"指标是虚数" → 本期聚焦"可视化的交互层"
- 第 3 期"三图一表" → 本期仪表板组装(第三节)
- 第 4 期"FIXED LOD 引子" → 下期"计算的类型"章节展开(含条件聚合与 LOD 的组合,见备用稿)
📌 注意(课次调整):此前预告第 5 期为"筛选器"、第 6 期为"仪表板"。本框架将二者合并升级为"交互与仪表板设计"(含筛选器优先级)。原"条件聚合和复杂的问题结构"模块移至后续"计算的类型"章节——作为行级计算 × 聚合计算的组合形式讲解,见备用稿 夏令营_第6次课_计算的类型.md。合并后原第 6/7/8 期顺延,具体编号见文末""。二、交互的五个基础构件
图:交互五构件总览:筛选 / 组 / 集 / 层级 / 参数
这五个构件回答了同一个问题:"用户怎么改变看到的答案?" 前四个改"数据或分类",参数改"逻辑"。
2.1 筛选(Filter)——改"哪些行参与计算"
图:筛选:层层删行,改“哪些行参与计算”
- 本质:从数据源删行,作用范围是整个视图的所有标记
- 三类基本筛选:维度筛选(蓝,行级 / 类别)、度量筛选(绿,聚合级)、日期筛选(连续日期的范围)
- 筛选器之间有先后顺序——详见 2.4 筛选器优先级;此处先记住"筛选=删行"这一本质即可
2.2 组(Group)——改"怎么分类"
图:组:改“怎么分类”
- 把维度中多个成员合并为一个新成员(如把几个小类别合并为"其他")
- 结果:生成一个新的维度字段;属于"静态重分类"
- 操作:右键维度成员 →「创建组」
2.3 集(Set)——改"在集内还是集外"
图:集(布尔):在集内 ∈ / 集外 ∉
图:条件集:随数据动态更新的集
图:集运算:交集 / 并集 / 差集
- 满足某条件或手动选中的记录的集合,把数据分为"在集 / 不在集"两部分
- 两种创建方式:按条件(动态,随数据更新)、手动(固定选择)
- 集的强大之处:
- 可用于计算:
IF [集] THEN ... END - 可作为筛选器
- 可配合"集动作"实现点击交互(见 3.3)
- 组 vs 集(一条必须讲清的对比):
- 组 = 重命名合并,产生新维度
- 集 = 二分判定,产生∈/∉ 的布尔字段
2.4 筛选器优先级与上下文筛选器——集"抢跑"在维度筛选之前
图:筛选器优先级:条件集先于维度筛选
筛选器不是同时生效,而是按固定顺序逐层作用。这一段优先级,是 Tableau 最容易踩坑、也最能体现"计算顺序(Order of Operations)"威力的地方。
- Tableau 的计算顺序与筛选相关的一段(自上而下、由外到内):
- 数据源筛选 / 提取筛选(最外层,连数据集都先砍)
- 上下文筛选器(Context Filter)
- 条件集 / 顶部集(Top N、Condition Set)
- 维度筛选(普通行级 / 类别筛选,蓝)
- 度量筛选(聚合级,绿)
- LOD(FIXED)→ 表计算 → 表计算筛选 → 参考线
- 关键强调:条件集 / 顶部集,排在行级别筛选(维度筛选)之前。 默认情况下,Top N 或"满足条件"的集,是在"上下文筛选器之后、普通维度筛选之前"的数据上算出来的——集"抢跑"在维度筛选前面。
- 上下文筛选器用来调整这个优先级:把某个维度筛选"提升"为上下文筛选器(右键 →「添加到上下文」),它就排到集 / 顶部集之前生效。典型场景:想让"Top 10 客户"基于"已选定的地区"来算——把地区筛选器设为上下文筛选器,集就在地区限定之后才计算 Top 10。
- 一句话:集 / 顶部集默认先于维度筛选;上下文筛选器是把"先按某维度过滤、再算集"的开关。
- 与外部筛选器的关系:外部筛选器按此优先级先作用于数据集;而"条件度量"的计算条件嵌套在聚合内部、逐行判断(这部分在后续"计算的类型"章节展开)。
2.5 层级(Hierarchy)——改"钻取深度"
图:层级:改“钻取深度”(年 → 季 → 月)
- 把多个维度按上下级组织(如 年→季度→月→日,或 类别→子类别)
- 视图中点击
+ / −即可下钻 / 上卷 - 本质:维度的"折叠结构",让一张图承载多个粒度
2.6 参数(Parameter)——改"计算逻辑"(胶水)
图:参数:改“计算逻辑”的胶水
- 参数是用户可在视图 / 仪表板中调节的变量;本身不计算,必须配合计算字段或直接使用
- 经典用法:
- 参数 + 计算字段 → 动态度量(让用户在 销售额 / 利润 / 数量 间切换)
- 参数 + 筛选 → 控制 Top N
- 参数 + 参考线 → 动态阈值
- 关键提醒:参数不能直接筛选数据,需借助
IF [参数]=...计算字段,或把参数"绑定"到筛选器 - 五个构件的关系:筛选 / 组 / 集 / 层级改"数据或分类",参数改"逻辑"——参数让前四者变成动态
三、仪表板设计:把交互"装进一块板"
3.1 仪表板是什么
- 多个工作表(worksheet)+ 对象(object)组成的单一画布
- 目的:让一个业务问题能"换角度、下钻、联动"地回答
- 关键认知:仪表板不是"图拼图",而是"一个分析流程的可视化"
3.2 对象与布局
图:仪表板布局:平铺 vs 浮动
- 平铺(Tiled)vs 浮动(Floating):
- 平铺:对象按网格自动排列、自适应尺寸,最常用
- 浮动:对象自由叠放,可做图层 / 注释,但难自适应
- 容器(Container):水平容器 / 垂直容器——把多个对象归为一组,统一控制间距、大小、显隐。容器是布局的核心,用容器做"卡片式"仪表板,分组清晰
- 常见对象:
- 工作表(已做好的图)
- 文本(标题、说明)
- 图片 / 网页页(扩展内容)
- 空白(间距控制)
- 筛选器对象(把工作表筛选器提升到仪表板层级,可统一控制多个工作表)
- 参数控件(显示参数给用户调节,呼应 2.6)
- 图例(可单独拖出)
- 设备预览(手机布局)
- 尺寸与自适应:固定尺寸 / 适合 / 整个视图 / 宽度适应——决定在不同屏幕的表现
- 最佳实践(列表):
- 先用容器搭骨架,再填工作表
- 标题 / 说明统一用文本对象
- 筛选器对象统一管理,避免每个图各带一个筛选器
- 少用浮动,优先平铺 + 容器以保证自适应
3.3 动作(Actions):让仪表板"联动起来"
- 筛选动作(Filter Action):点击一个图,用所选值去筛选另一个图(删数据联动)
- 突出显示动作(Highlight Action):点击 / 悬停,高亮相关标记而不删数据,比筛选更"轻"
- URL 动作(URL Action):点击跳转到外部链接(如点击客户跳转其详情页)
- 集动作(Set Action,进阶):点击把所选记录"加入集",呼应 2.3 的集,实现交互式子集构建——把"集"和"交互"串起来的高级玩法
- 三者对比:筛选动作 = 删数据(联动);突出显示动作 = 高亮(不删);集动作 = 改集成员(持久化选择)
3.4 设计流程(实操串讲建议)
- 想清"用户要回答什么问题" → 选 3~4 张工作表
- 用容器搭布局 → 放工作表、文本、筛选器对象
- 加参数控件(呼应 2.6)、集动作(呼应 2.3)
- 设动作联动 → 测试点选效果
- 加设备布局(手机)预览
四、综合案例:交互式销售仪表板(示例超市)
沿用第 3/4 期的"示例超市(Superstore)"数据源,把本期构件组合成完整闭环:
- 层级下钻:类别 → 子类别(呼应 2.5)
- 参数切换度量:销售额 / 利润 / 数量(呼应 2.6)
- 集动作选重点客户:点击把客户加入"重点客户"集(呼应 2.3 + 3.3)
- 筛选器对象:年份 / 地区统一控制多个工作表(呼应 3.2)
- 突出显示动作:悬停高亮相关标记(呼应 3.3)
- 上下文筛选器实战:把"地区"设为上下文筛选器,让"Top 10 客户"集基于已选地区计算(呼应 2.4)
落点:这就是"交互与仪表板设计"的完整闭环——交互构件是零件,仪表板是装配,动作让零件之间联动起来。
总结与后续预告
三个必须记住的交互要点
- 集 / 顶部集默认先于维度筛选(行级别筛选);上下文筛选器是把"先按某维度过滤、再算集"的开关(见 2.4)
- 参数不直接筛选数据,须配计算字段或绑定筛选器——它是让其他构件"动起来"的胶水(见 2.6)
- 动作三选:筛选动作删数据、突出显示动作不删、集动作持久化选择——按需选轻量联动(见 3.3)
第 6 期 · 计算的体系:从 Excel 到 Tableau、SQL、Power BI
- 系统关键词:开场定调、透视表的本质、两类基本计算、BI 从字段开始、物化取舍、Excel 认知陷阱、聚合的聚合、行级别的两种位置、高级计算两大分支、条件聚合、学习建议
- 整理说明:由会议录制转写生成,已去除语气词、口头禅及无意义过渡语,并按语义重新分段;段落时间戳为各段起始–结束时间,便于回溯原录音。
图:计算的体系:筛选是简单形式,模型是高级形式
前五期走完了「问题 → 图形 → 交互」:第 2 期讲透问题的统一结构(范围+维度+度量),第 3/4 期把图形落地为三图一表与分布相关性,第 5 期让图形"活"起来。本期切入计算。需要先澄清一个根本区分:计算的本质是弥补数据表已有字段的不足——year() 从日期里提取年、left() 从文本里截取字符串、sum() 把明细汇总成概括,都是在"造出原本没有的字段"。
因此分析的本质是分组聚合,但计算的本质不是聚合——聚合(sum 等)只是计算的一种关键形式;甚至筛选(判断并保留 true)与后期多表合并(集运算)也都是计算的特殊形式。所有计算都是在某个详细级别上的计算,而非"都是聚合"。我们用一节课建立"计算金字塔":行级别计算(明细层)→ 聚合计算(视图层)→ 表计算 / LOD(二次计算层),并用示例超市把四种写法放在一起对比。
一、回顾与定位:为什么现在讲计算
1.1 前几期的主线
- 第 2 期:问题结构 = 范围 + 维度 + 度量("指标是虚数")
- 第 3 期:三图一表,把问题变成图形
- 第 4 期:分布与相关性,从"看多少"到"看形状、看关系"
- 第 5 期:交互与仪表板——筛选 / 组 / 集 / 层级 / 参数,以及筛选器优先级
这些成果里,所有"度量"默认就在被聚合。但"度量到底怎么算出来"这件事,前几期没拆开讲。本期补上这层"计算内核"。
1.2 本期主线
- 计算的本质 = 弥补数据表已有字段的不足:数据表只记录最直接的原始字段(订单日期、产品名称、销售额…),而分析要的"年""品类前缀""利润率""区域销售额"并不现成存在。
year()从日期里提取年、left()从文本里截取字符串、sum()把明细汇总成概括——都是在"造出原本没有的字段"。指标(虚数)正是这样被计算"造"出来的(呼应第 2 期"指标是虚数") - 关键区分:分析的本质是分组聚合,但计算的本质不是聚合——
sum这类聚合只是计算的一种关键形式,计算涵盖的范围远大于聚合 - 统摄视角:筛选与合并也是计算(打通前后期)
- 筛选是计算的特殊形式:筛选对每一行"判断条件并保留 true"——
[区域]="东部"这个判断本身就是行级计算,保留 true 是计算结果的物化。所以第 5 期的筛选器,本质是"行级计算的特例" - 数据合并是计算的特殊形式(后期):多表的连接 / 并集本质是集合运算(集运算),是跨表层面弥补字段与记录不足的方式。这部分留到第 7 期"模型"系统展开,但先建立认知:合并也是计算
- 一句话概括:所有计算都是在某个详细级别上的计算——不是所有计算都是聚合;详细级别(LOD)是贯穿行级、聚合、表计算、LOD,乃至筛选与合并的统一视角
1.3 与往期的衔接
- 第 2 期"指标是虚数" → 本期"计算的类型"(把那句话落地成行级 / 聚合 / 表计算 / LOD 四类)
- 第 5 期"筛选器优先级(2.4)" → 本期"外部筛选器 × 内部计算条件"的分层(3.3)
- 第 4 期"FIXED LOD 引子" → 本期 LOD 章节(第五节)系统展开
二、计算的演进与两大分类(书 8.1 / 8.2)
图:分析本质计算体系:四类计算的位置与关系
图:透视表的本质:聚合,而非转置
2.1 演进:Excel 透视 → SQL 查询 → Tableau 三合一(8.1.4)
- Excel 透视表:拖拽即聚合,但计算藏在界面背后,难以精确表达
- SQL 查询:
SELECT 维度, SUM(度量) … GROUP BY 维度——聚合逻辑显式、可控,但需写语句 - Tableau 三合一:图形、聚合、计算字段在视图上合一——拖拽生成查询,计算字段用表达式精确控制,兼得两者之长
- 落点:三种工具处理的是同一件事——把明细变成答案(聚合是其中最关键的一种计算形式,其余形式后文展开),只是表达方式不同;理解演进,才能理解 Tableau 为什么这么设计(与"计算的本质不是聚合"同一口径)
2.2 两大分类框架(8.2):行级别计算 vs 聚合计算
所有 Tableau 计算,先按"计算发生的时机"一分为二:
- 行级别计算:在每一行(明细)上独立求值,结果仍是明细字段
- 聚合计算:先按视图层级聚合,再做运算(或运算后再聚合)
这是后续一切分类(条件聚合、表计算、LOD)的总纲。
三、行级别计算 vs 聚合计算(书 8.2.1 ⭐核心)
图:两类基本计算:行级别 vs 聚合
3.1 行级别计算
- 定义:对数据源的每一行独立运算(如
利润 = 销售额 − 成本),结果仍是明细级别的一个字段 - 特点:不依赖其他行、不受视图层级影响(在聚合之前就逐行算好)
- 例子:
[利润率] = [利润] / [销售额]、[折扣后价] = [单价] * (1 − [折扣])
3.2 聚合计算
- 定义:聚合后运算——
SUM([利润])、AVG([得分])等。相当于在视图详细级别(当前问题的行列维度)上完成分类汇总计算,对明细做抽象概括;依赖视图(问题)的详细级别 - 特点:结果随视图层级(viz LOD)变化;视图的行列(维度)决定了聚合的粒度
- 关键认知:Tableau 的度量"默认就是聚合的"——拖入一个度量,Tableau 自动按当前详细级别聚合
3.3 条件聚合:行级别计算 × 聚合计算的组合形式(理解 BI 差异的关键)
图:条件聚合:YTD / MTD 与四工具对照
行级与聚合组合,得到一类最常用的"条件指标"——条件聚合。它既是"指标是虚数"的落地,更是理解各个 BI 工具差异的关键:不同工具有不同的"行级 + 聚合"组合语法。
- 定义:条件聚合 = 行级别计算(逐行判断条件) × 聚合计算(挑出的行再汇总)。同一逻辑,各工具语法不同:
- Excel:
SUMIF/SUMIFS(条件内置于函数名,条件与聚合耦合;多条件用 SUMIFS) - SQL:
SUM(销售额) FILTER (WHERE 区域='东部')(PostgreSQL 支持标准FILTER子句;MySQL 等不支持,用SUM(CASE WHEN 区域='东部' THEN 销售额 END)等价写法) - Tableau:
SUM(IF [区域]="东部" THEN [销售额] END)——聚合(SUM)与条件(IF)两个正交能力自由组合,SUM+IF≈SUMIF、COUNT+IF≈COUNTIF,无需新增函数 - PowerBI(DAX):
SUMX(FILTER('表', '表'[区域]="东部"), '表'[销售额])——SUMX先逐行遍历(FILTER 挑行)再求和,显式暴露"行级遍历 + 聚合"的组合 - 为什么这是 BI 差异的关键:四种语法都在做同一件事(行级判断 + 聚合),但组合方式有别——Excel 把条件焊死在函数里,SQL/Tableau 把条件拆出来正交组合,PowerBI 用迭代器(X 后缀函数)显式遍历。理解了这一点,就能看穿不同工具"计算模型"的世界观差异。
- 分流点:筛选器 vs 条件度量:
- 筛选器:删行(全局),限定东部后全图只剩东部
- 条件度量:
SUM(IF [区域]="东部" THEN [销售额] END),不删行,仅此度量挑数据;同图可放"总销售额"和"东部销售额" - 判断:想"所有人只看东部"→筛选器;想"同图对比东部 vs 全部"→条件度量
- 分层机制(呼应第 5 期 2.4):最终聚合 = 外部筛选后的数据 ∩ 内部 IF 条件。外部筛选器按筛选器优先级先作用于数据集(上下文→集→维度→度量,逐层砍行);内部的
IF条件在聚合内逐行判断,只决定这一个度量挑哪些行。这一分层,是理解后续复杂计算的前提。
四、表计算:聚合之上的「二次计算」(书 9 章)
4.1 本质:聚合之上的「二次计算」(9.3)
- 第一次聚合 = 视图聚合(把明细按视图详细级别聚成标记)
- 第二次计算 = 表计算:在视图聚合的结果上"再算一层"——沿某个方向(行/列/单元格)对已有聚合值做运算
- 注意:表计算不一定是二次聚合。例如
LOOKUP(SUM([销售额]), -1)只是沿轴"取上一个值",是取值计算而非再聚合;只有"合计百分比""差异"这类才是在聚合结果上再聚合 - 关键:表计算看不到明细,只看到视图已经聚合出来的那些值;它是在已聚合结果上追加的"计算层"
4.2 合计百分比(9.1.1)
- 把每个标记的聚合值,除以某个"总计"(表/行/列/父级)
- 从 Excel 的"值显示方式 → 占总和百分比"理解层次关系:表计算就是把这种层次占比显式表达
4.3 同 / 环比偏移(9.2)
- 差异表计算:把当前值与"上一个""第一个"或"特定"值相减 / 相除
- 同环比:
(本年 − 上年) / 上年(同比)、(本月 − 上月) / 上月(环比) - 对应 SQL 窗口函数:
SUM(销售额) OVER (PARTITION BY 地区 ORDER BY 年月)——表计算是窗口函数的视图化 - 典型应用:时间序列上的增长分析
4.4 排序计算:INDEX / RANK(9.4,凹凸图案例)
- INDEX:给分区内的行编号(1, 2, 3…)
- RANK / RANK_UNIQUE / RANK_DENSE:排名,处理并列
- 经典案例凹凸图(Bump Chart):用 INDEX/RANK 把"排名随时间变化"画成赛道,突出名次波动而非绝对值
4.5 设置要点:计算依据(分区 / 寻址)
- 分区(Partition):表计算在哪些组内独立重算("分块")
- 寻址(Addressing):在每个分区内,沿哪个方向(行 / 列 / 单元格)移动计算
- 一句话:分区决定"在哪重新开始",寻址决定"往哪走"。这是表计算最容易出错、也最体现威力的地方
- 例:合计百分比中,分区=分母的范围(表 / 行 / 列 / 父级,即"相对总计"),寻址=分子沿哪个方向累计——同样的公式,分区选"表"与选"行",结果完全不同
五、LOD 计算:指定详细级别的聚合(书 10 章 ⭐核心)
5.1 为什么需要:视图详细级别 ≠ 问题详细级别(10.1)
- 视图的详细级别(行列放的维度)决定了"默认聚合的粒度"
- 但问题常常要求"在另一个粒度上算"——例如"每个客户的销售额占比"需要先在"客户"级别算总额,再回视图比较
- LOD 表达式让计算脱离视图详细级别,在指定的级别上完成聚合
graph TD
A[数据表详细级别<br/>每行独立明细] --> B[视图(问题)详细级别<br/>行列维度决定聚合粒度]
B --> C{需在其他粒度计算?}
C -->|绝对指定| D["FIXED<br/>忽略视图·指定维度聚合"]
C -->|相对视图·增加| E["INCLUDE<br/>再下钻一层维度"]
C -->|相对视图·减少| F["EXCLUDE<br/>上卷一层维度"]
B --> G["表计算<br/>聚合结果上的二次计算<br/>分区 + 寻址"]
D --> H[聚合结果回视图比较]
E --> H
F --> H
5.2 FIXED:绝对指定(10.2)
{FIXED [维度1],[维度2]: 聚合}——忽略视图,直接在指定维度上聚合,结果可高可低于视图粒度- 三种典型用法:
- 更高聚合度(占比):
{FIXED [类别]: SUM([销售额])}作分母,算各类别占比 - 更低聚合度(购买力):
{FIXED [客户]: SUM([销售额])}算每个客户的总额,再回视图看"高价值客户" - 独立级别(客户矩阵):在指定级别算,与视图维度正交,做交叉对比
- 入门案例:客户购买频次(10.1.1)——
{FIXED [客户ID]: COUNTD([订单ID])}
5.3 INCLUDE / EXCLUDE:相对指定(10.3)
- INCLUDE:在视图粒度基础上增加维度再聚合("再下钻一层")
- EXCLUDE:在视图粒度基础上去掉维度再聚合("上卷一层")
- 与 FIXED 的区别:INCLUDE/EXCLUDE 相对于视图详细级别,FIXED 绝对指定、不受视图影响
5.4 超越 LOD:计算详细级别体系与优先级(10.4)
- Tableau 有一套完整的"详细级别"体系:行级 → 视图聚合 → 表计算 → LOD(FIXED/INCLUDE/EXCLUDE),外加筛选器优先级
- 各类计算按固定顺序生效(Order of Operations):数据源筛选 → 上下文筛选 → 集 → 维度筛选 → 度量筛选 → FIXED LOD → 视图聚合 → 表计算 → 表计算筛选
- 一句话:谁先算、在哪个级别算,决定最终答案。掌握这套优先级,复杂计算不再"玄学"
- 🎯 直播只讲一个关键切片:FIXED 在维度筛选之后、视图聚合之前——所以 FIXED 不受维度 / 集筛选影响,但受数据源筛选、上下文筛选与度量筛选影响;完整九级列表课后对照逐字稿与《数据可视化分析》10.4
六、案例串讲(书 10.5 + 实操)【动手 · 20′】
沿用「示例超市(Superstore)」一份数据,把四类计算放在一起对比,建立直觉:
- 客户购买频次分析(10.1.1:FIXED 入门)——
{FIXED [客户名称]: COUNTD([订单ID])} - 客户购买力分析(10.5.2:嵌套 LOD 多遍聚合)⭐——
{FIXED [客户]: SUM([销售额])}/{FIXED [地区]: SUM([销售额])},嵌套两层 FIXED 算客户占比 - 同环比偏移(9.2:差异表计算)——时间轴上的增长,对比 LOD 写法
- 实操对比(动手 ⭐):同一问题——"各地区销售额占比",用四种写法实现,看"聚合发生在哪一层、由谁控制粒度":
| 写法 | 字段 / 表达式 | 观察点 |
|---|---|---|
| ① 行级 + 聚合 | 行=[地区],列=SUM([销售额]) |
得到各地区销售额;占比还差一个"分母"——引出后三种 |
| ② 条件聚合 | 列=SUM(IF [地区]="东部" THEN [销售额] END) / SUM([销售额]) |
东部占比;换条件即可同图对比"东部 vs 全国" |
| ③ 表计算 | 列=SUM([销售额]) + 快速表计算「合计百分比」(相对总计) |
占比随视图结构变化(分区 / 寻址);行、列方向不同结果不同 |
| ④ LOD | 列=SUM([销售额]) / {FIXED : SUM([销售额])} |
分母固定在整个数据级别,不受视图结构影响——最稳定 |
动手范围:学员跟做 ③ 和 ④(表计算 + LOD 各一个);① ② 以直播演示为主,理解"条件内置 vs 删行"的分流即可。
落点:四种写法解决同一类业务问题,差异在"聚合发生在哪一层、由谁控制粒度"。这就是"计算金字塔"的实战映射。
七、总结:计算的「金字塔」与优先级(书 10.4)
三层金字塔
- 明细层:行级别计算——每行独立运算,结果仍是明细字段
- 视图层:聚合计算——按视图详细级别汇总(聚合是计算的一种关键形式,但并非全部)
- 二次计算层:表计算 / LOD——在聚合结果上追加计算(表计算,未必是再聚合),或脱离视图指定级别聚合(LOD)
- 跨层组合:条件聚合 = 行级别计算(逐行判断)× 视图层聚合(汇总)——不是独立的第四层,而是"行级 × 视图层"的组合
一个统一视角
所有计算都是在某个详细级别上的计算——不是所有计算都是聚合。 详细级别(LOD)是贯穿行级、聚合、表计算、LOD,乃至筛选与合并的统一视角;而聚合,只是计算的一种关键形式。
掌握"计算金字塔"与计算顺序(Order of Operations),就能判断任一计算的时机、级别与结果——这是本期要带走的核心心智模型。
图:高级计算的两大分支:二次计算 vs 预先计算
第 7 期 · 数据模型:从单表到多表
图:第 7 期 · 数据模型:从单表到多表
图:课堂三段递进:从引子到双层结构再到混合
图:数据合并也是计算的特殊形式:多表合并 = 集运算
前六期我们始终在「单张表」里打转——第 2 期讲透问题的结构(范围+维度+度量),第 3 期把问题变成图形(三图一表),第 4 期看分布与相关,第 5 期让图形"活"起来(交互与仪表板),第 6 期拆开"度量怎么算出来"(计算的类型)。
但现实业务的数据,从来不是一张表能装下的。本期改用 Tableau 官方多表样例 Bookshop 作为贯穿全课的案例:一本书(Book)有多个物理版本(Edition),销售(Sales)、评分(Ratings)、借阅(Checkouts)又各自独立成表——单表字段天然不足。当想要的维度或度量在另一张表里时,就需要数据模型来把它们连起来。本期打开多表世界,建立贯穿全章的总纲:数据关系决定可用的详细级别——这句话正是第 6 期结尾预告的落点。
本期要点预览
- 模型的出发点:单表字段不足 → 模型 = 引入新字段;数据关系模型是数据库与业务之间的「纽带」
- 模型的两条路(总纲):物理层 = 预先合并(扩大单表);逻辑层 = 按需关联(随视图匹配)
- 统一视角:数据合并 = 「计算列」的高级形式(跨表造字段);命名对照:物理层→Join,逻辑层→Relationship
- Join(物理层)vs Relationship(逻辑层):连接方式、基数、引用完整性、共享维度
- 关系(Relationship)vs 混合(Blend):预先匹配 vs 按需匹配;匹配详细级别随视图变化
- 跨工具对照:SQL(JOIN / 子查询 / 视图)与 Power BI(星型模型 + DAX)如何映射到 Tableau 的两层模型
- 七期闭环收官:①问题 → ②图形 → ③交互 → ④分布相关 → ⑤计算 → ⑥模型
- 本期案例:Bookshop 官方多表样例:13 张表、book↔edition 概念,覆盖物理层(并集/连接)与逻辑层(关系/基数/多对多)全部场景
本期案例数据:Bookshop(官方多表样例)
图:Bookshop 的双层结构:物理层 + 逻辑层
Tableau 官方为 Desktop 2020.2 推出的关系(Relationship)特性专门打造的多表样例,用于演示"在数据模型里组合多张表"。数据充足、维度丰富、关系典型,是本期讲透两层模型的最佳载体。官方提供原始.xlsx与预建.tdsx(含Bookshop.tdsx/MinimalBookshop.tdsx/Bookshop_libraries.tdsx),下载与说明见 https://help.tableau.com/current/pro/desktop/en-us/bookshop_data.htm。
0.1 核心概念:book(书)vs edition(版本)
- Book(书):概念层——作者、书名、题材(genre)等"书"的属性
- Edition(版本):物理层——同一本书的具体版本,属性有装帧(Format:精装 Hardcover / 平装)、出版日期、页数、价格;ISBN 是每个版本的唯一 13 位标识(条码,绑定价格)
- 为什么重要:一本书可有多个版本 → Book 与 Edition 是「一对多」。分析时"按书"还是"按版本"就是不同的详细级别(LOD)——这正是本期"数据关系决定可用详细级别"的最佳切入点
0.2 13 张表的角色(官方说明)
- 关键三表:
Book(书)、Author(作者)、Edition(版本)——模型的骨架 - 围绕 Edition 的事实/维度表:
Publisher(出版社,关联 Edition)、Sales(销售,4 张按年份拆分的同结构表,关联 Edition;含OrderID/ItemID,一个订单含多个条目)、Ratings(评分 1–5,关联 Edition)、Checkouts(借阅,关联 Edition) - 扩展表:
Info(书的扩展信息)、Series(丛书,依赖 Info 才能用)、Award(奖项,关联 Book) - 合计 13 张:上述关键表 + 4 张 Sales + Info + Series + Award + Ratings + Checkouts
0.3 官方给出的建模规则(直接对应两层模型)
- 物理层(预合并):
- 4 张
Sales表并集(Union)为一张Sales(官方建议重命名) Book与Info按计算字段连接:BookID = [BookID1] + [BookID2](内连接建议)Series须在Info进入模型后才能使用- 逻辑层(按需关联):
Publisher、Sales必须关联(Relationship)到EditionBook、Author、Edition之间声明关系,查询时按需匹配- 模型建好后,所有以
ID结尾的字段可隐藏(ISBN保留,且取Edition表的 ISBN)
0.4 为什么选它讲"模型的两条路"
- 物理层现成可练:并集 4 张 Sales、连接 Book+Info(且是计算字段连接,能顺带呼应第 6 期"计算造字段")
- 逻辑层现成可练:Book/Author/Edition/Publisher/Sales/Ratings 用关系按需关联;
Book 1:* Edition、Order 1:* Item天然演示一对多重复风险(见第四节) - 多对多(n:n)进阶:
BookshopLibraries.xlsx新增Catalog(按 ISBN 关联 Edition)与Library Profiles(与 Catalog 在LibraryID上多对多),用于演示关系模型如何处理 n:n
📌 本课所有"两条路 / 三种合并 / 基数 / 引用完整性"的讲解,均以 Bookshop 为统一案例贯穿,避免抽象。
一、模型的出发点:弥补单表的不足
1.1 单表字段不足,模型负责引入新字段
- 问题起点:以 Bookshop 为例——"销售额"在 Sales 表、"作者/题材"在 Book 表、"装帧/页数"在 Edition 表、评分在 Ratings 表。任意一张表都不可能同时拥有分析需要的全部字段
- 模型的本质:当单表字段不足时,模型 = 引入新字段的手段——把分散在多张表里的维度/度量,按需汇拢到分析可用的结构中
- 呼应第 6 期:第 6 期说"计算的本质是弥补数据表已有字段的不足"(造出原本没有的字段)。模型是跨表层面的同一种思路——区别只是:计算在"一行内部"造字段,模型在"多张表之间"造字段
1.2 数据关系模型是数据库与业务之间的纽带(图 4-1)
- 数据库只关心"表怎么存",业务只关心"问题怎么问";数据关系模型(data model)站在两者之间,把业务问题翻译为表与表的连接关系
- 一句话定位:模型让"业务想问的问题"能够映射到"数据库里分散的表"——它是数据库与业务之间的纽带
二、模型的两条路:物理层 vs 逻辑层(总纲)
这是全章的总纲,后续一切分类都从这一分为二展开。
2.1 物理层:预先合并(提前扩大单表)
图:合并框架:合并方式 × 合并位置的二维图
- 做法:在连接阶段就把多张表预先合并成一张大表(提前扩大单表),之后所有分析都基于这张合并后的宽表
- 优点:结构稳定、查询高效,分析时无需再考虑表之间的关系
- 缺点:不能解决重复——当两张表是"一对多"时,预先合并会把"一"端记录复制多份,造成数据膨胀与重复计数(详见第四节)
- 典型操作:Join(连接)、Union(并集/纵向追加)
2.2 逻辑层:按需关联(按需索取)
- 做法:只声明表与表之间的匹配关系,并不真正合并;查询时按需根据当前视图用到的字段去取数
- 优点:灵活、性能好——只取视图需要的字段与粒度,避免无谓膨胀
- 缺点:技术要求高——需要理解基数(cardinality)、引用完整性(referential integrity)、共享维度等概念,才能让 Tableau 生成正确的查询
- 典型操作:Relationship(关系)、Blend(混合/数据混合)
- 本期案例(Bookshop):物理层把 4 张 Sales 表并集、Book 与 Info 按计算字段
BookID = [BookID1]+[BookID2]连接;逻辑层改用关系把 Book/Author/Edition/Publisher/Sales/Ratings 按需关联——同一份数据,两条路都能走通 - 图 4-41「物理与逻辑之示例」直观对比两条路的差异
三、统一视角:数据合并 = "计算列"的高级形式
3.1 命名对照(关键映射)
| 合并位置 | Tableau 术语 | 通俗说法 | 合并时机 |
|---|---|---|---|
| 物理层 | Join(连接) | 预先合并 | 连接阶段一次性算好 |
| 逻辑层 | Relationship(关系) | 按需关联 / 预先匹配 | 查询时按视图匹配 |
| 逻辑层(跨源) | Blend(混合) | 按需混合 | 查询时按主表级别聚合匹配 |
- 物理层 → Join:把多表在连接层"焊死"成一张宽表
- 逻辑层 → Relationship(关系):声明匹配关系,预先匹配(模型里定义好,但查询时才真正取数)
- 逻辑层 → Blend(混合):跨数据源的按需匹配,匹配级别跟随视图(见第五节)
3.2 数据合并 = 计算列的高级形式
- 第 6 期讲"计算列"是在一行内部造字段;多表合并是在表与表之间造字段——合并是计算列的高级(跨表)形式
- 因此第 6 期的统一视角在此延续:合并也是计算,所有计算都在某个详细级别上发生。模型决定的,正是"跨表计算"能在哪个详细级别上完成
- 图 4-10「基于合并方法和合并位置的分类矩阵」⭐ 是本章的总纲图:以合并位置(物理层 / 逻辑层)× 合并方法(连接 / 并集)为两轴,把 Join / Relationship / Union / Blend 一网打尽
四、关系(Relationship)vs Join
4.1 Join(物理层):连接方式
- 基本连接方式(图 4-21「两个数据表对应的 7 种连接方式」):
- 内连接(Inner):只保留两表都匹配的行
- 左连接(Left)、右连接(Right):保留一端全部,另一端补空
- 全连接(Full Outer):两端都保留
- 交叉连接(Cross / Cartesian):两表每行两两组合(笛卡尔积,慎用)
- 自连接(Self Join):同一张表连接自己(如员工表查上下级)
- 关键风险:当关系是"一对多"时,Join 会把"一"端记录重复展开,导致度量被重复计数——这是物理层"不能解决重复"的根源。本期用 Bookshop 演示:
Book 1:* Edition、Order 1:* Item若用 Join 预合并,书的销量/评分会被版本的条数放大;改用 Relationship 则按视图粒度匹配,避免重复
4.2 Relationship(逻辑层):基数、引用完整性、共享维度
- 基数(Cardinality):声明两表是 1:1、1:、:1 还是 :。基数告诉 Tableau 连接后会不会产生重复,从而决定如何正确聚合
- 引用完整性(Referential Integrity):声明是"部分记录匹配"还是"全部记录匹配"(即一端是否完整包含另一端的外键)。完整引用能让 Tableau 选择更高效的查询路径
- 共享维度(Shared Dimension):多个事实表通过同一个维度表(如日期、产品)关联,构成"雪花/星型"结构的核心——这正是第六节 Power BI 星型模型的同构思想
- 图 4-55「简单数据关系模型」展示多表通过关系连接的最小结构
五、关系(Relationship)vs 混合(Blend)
5.1 预先匹配 vs 按需匹配
- Relationship(关系):在模型层预先声明匹配字段,但查询时按需匹配——只取当前视图用到的粒度
- Blend(混合 / 数据混合):跨不同数据源时,以"主表"的聚合级别为匹配级别,把"辅表"按链接字段聚合后拼上来——是按需匹配的极致
5.2 匹配详细级别随视图变化(图 4-11 ⭐)
- Blend 的核心特征:匹配的详细级别跟着主表的视图变化。主表放到"月"级别,辅表就按"月"聚合后匹配;主表下钻到"日",匹配级别随之变为"日"
- 这一点与 Join 形成鲜明对比:Join 的合并级别在连接时就固定了,而 Blend 的合并级别随视图浮动
- 图 4-11「Tableau 中指定详细级别聚合的数据合并:数据混合」说明混合如何在指定 LOD 上完成聚合后再合并
六、对比 Power BI 与 SQL
6.1 SQL:物理层 / 逻辑层 / 逻辑表
- JOIN = 物理层:
FROM A JOIN B ON …在查询执行时把表物理合并,合并级别由 ON 条件固定 - 子查询 / 派生表 = 逻辑层:
SELECT … FROM (SELECT … FROM A) t是"先算一层、再在外层按需取用",对应逻辑层的按需关联 - 视图(VIEW) = 逻辑表:视图不真正存数据,只是"按需物化"的查询定义,等价于逻辑层的一张虚拟表
- 图 4-22「Tableau 中 4 种连接方式及其对应的 SQL 语法」把 Join 类型逐一映射到 SQL
6.2 Power BI:星型模型 + DAX vs Tableau 视图级关系
- Power BI:导入数据后建立星型模型(事实表围绕维度表),关系固定在模型层;度量用 DAX 编写,聚合逻辑与关系一并固化在模型里(Bookshop 的 Book/Author/Edition 即是最小星型骨架)
- Tableau:关系(Relationship)声明在逻辑层、按需匹配在视图级——同一个关系,在不同视图(不同详细级别)下自动生成不同查询;度量用视图上的表达式,关系随视图浮动
- 一句话对照:Power BI 把关系"焊"在模型里用 DAX 算;Tableau 把关系"挂"在视图上随问题动态匹配。两者解决同一件事(多表分析),但关系的作用时机不同
七、总结:七期闭环收官
7.1 模型的两条路 ↔ 合并的两种形式
- 两条路:物理层(预先合并)↔ 逻辑层(按需关联)
- 两种形式:物理层落地为 Join;逻辑层落地为 Relationship,并在跨源场景延伸为 Blend(混合)
- 一图收束:合并位置(物理 / 逻辑)× 合并方法(连接 / 并集)= Join / Relationship / Union / Blend(见信息图分类矩阵)
7.2 七期知识闭环
① 问题 → ② 图形 → ③ 交互 → ④ 分布相关 → ⑤ 计算 → ⑥ 模型
- 第 2 期把业务问题拆成"范围+维度+度量";第 3/4 期把问题变成图形、看分布与相关性;第 5 期让图形可交互;第 6 期拆开"度量怎么算";第 7 期补全"字段从哪来"——模型是闭环的收口
- 最终落点(呼应第 6 期预告):模型 = 数据关系决定可用的详细级别。能分析到什么粒度,不取决于你多会写计算,而取决于表与表之间的关系允许你匹配到什么级别
七期走完"从问题到模型"的完整闭环:先会问对问题,再会画对图,继而让图可交互,看懂分布与相关,掌握计算,最后用模型把多表世界纳入分析。下一阶段可沿三条线深化:Tableau Prep(物理层清洗与合并)、多事实表与性能优化、以及把模型思维迁移到 SQL 与 Power BI。