> ## Content Index
> Fetch the complete content index at: https://xilejun.com.cn/llms.txt
> Use this file to discover other available public pages before exploring further.

# 喜乐君 · 数据分析夏令营 2026 · 七期图文讲义
- URL: https://xilejun.com.cn/summer-camp-2026-handout/
- Published: 2026-09-18T01:47:31.000Z
- Updated: 2026-09-18T06:59:23.000Z
- Description: 喜乐君·数据分析夏令营 2026 七期图文讲义：前七章为精编讲义（第 1 期为什么学、第 2 期问题怎么写、第 3 期从问题到图形、第 4 期分布与相关、第 5 期交互与仪表板、第 6 期计算的体系、第 7 期数据模型）。一句话总纲：业务 ← 数据 → 分析（左右开弓）。
- Author: 喜乐君分析知识库
- Tags: 夏令营, Tableau, 数据分析, 可视化分析, 数据模型

> **喜乐君（XILEJUN）**：Tableau Visionary 名人堂成员，著有《数据可视化分析：Tableau 原理与实践》 《业务可视化分析：从问题到图形的 Tableau 方法》等。slogan：「唯有知识让我们免于平庸」。

本讲义把七次直播课整合为一册：**前七章为精编讲义**（课程要点 + 图解 + 结构化正文）。

![七期一条线：从「问题」到「模型」](https://xilejun.com.cn/content/images/2026/09/summer-camp-overview-roadmap.svg)

*图：七期一条线——从「问题」到「模型」*

一句话总纲：**业务 ← 数据 → 分析**（左右开弓）。第 7 期落点：**数据关系决定可用的详细级别**。

---

## 目录

- [第 1 期 · 开篇引导：AI 时代为什么学数据分析](#%E7%AC%AC-1-%E6%9C%9F-%C2%B7-%E5%BC%80%E7%AF%87%E5%BC%95%E5%AF%BC%EF%BC%9Aai-%E6%97%B6%E4%BB%A3%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AD%A6%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90)
- [第 2 期 · 问题的结构与维度度量](#%E7%AC%AC-2-%E6%9C%9F-%C2%B7-%E9%97%AE%E9%A2%98%E7%9A%84%E7%BB%93%E6%9E%84%E4%B8%8E%E7%BB%B4%E5%BA%A6%E5%BA%A6%E9%87%8F)
- [第 3 期 · 可视化：从问题到图形](#%E7%AC%AC-3-%E6%9C%9F-%C2%B7-%E5%8F%AF%E8%A7%86%E5%8C%96%EF%BC%9A%E4%BB%8E%E9%97%AE%E9%A2%98%E5%88%B0%E5%9B%BE%E5%BD%A2)
- [第 4 期 · 分布与相关性的分析原理](#%E7%AC%AC-4-%E6%9C%9F-%C2%B7-%E5%88%86%E5%B8%83%E4%B8%8E%E7%9B%B8%E5%85%B3%E6%80%A7%E7%9A%84%E5%88%86%E6%9E%90%E5%8E%9F%E7%90%86)
- [第 5 期 · 交互与仪表板设计](#%E7%AC%AC-5-%E6%9C%9F-%C2%B7-%E4%BA%A4%E4%BA%92%E4%B8%8E%E4%BB%AA%E8%A1%A8%E6%9D%BF%E8%AE%BE%E8%AE%A1)
- [第 6 期 · 计算的体系：从 Excel 到 Tableau、SQL、Power BI](#%E7%AC%AC-6-%E6%9C%9F-%C2%B7-%E8%AE%A1%E7%AE%97%E7%9A%84%E4%BD%93%E7%B3%BB%EF%BC%9A%E4%BB%8E-excel-%E5%88%B0-tableau%E3%80%81sql%E3%80%81power-bi)
- [第 7 期 · 数据模型：从单表到多表](#%E7%AC%AC-7-%E6%9C%9F-%C2%B7-%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B%EF%BC%9A%E4%BB%8E%E5%8D%95%E8%A1%A8%E5%88%B0%E5%A4%9A%E8%A1%A8)

---

## 第 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 的边界在哪里

![岗位被替代难度阶梯：越往上越难替代](https://xilejun.com.cn/content/images/2026/09/s1-job-replacement-ladder.svg)

*图：岗位被替代难度阶梯：越往上越难替代*

- 大模型擅长：**生成、归纳、对话**——基于训练语料的概率续写。
- 大模型不擅长：**基于你真实业务数据的因果判断与可验证决策**。
- 关键区分：**信息 ≠ 洞察**。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 三版本对比：从免费入门到企业级](https://xilejun.com.cn/content/images/2026/09/s1-tableau-three-editions.svg)

*图：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 左弓与右弓的定义

![左右开弓：业务 ← 数据 → 分析](https://xilejun.com.cn/content/images/2026/09/s1-left-right-bow.svg)

*图：左右开弓：业务 ← 数据 → 分析*

- **业务向左（左弓）**：业务侧——问题定义、指标口径、干系人沟通、结论落地。回答"我们到底想知道什么、凭什么这么说、然后怎么办"。
- **分析向右（右弓）**：数据技术侧——取数、建模型、可视化、验证。回答"数据从哪来、怎么组织、怎么画出来、对不对"。
- **数据在中间**：连接业务与分析两端的桥梁。业务问题要靠数据才能落地，分析技术要靠数据才有对象——**数据是把"左弓"和"右弓"绷成一张弓的弓弦**。
- **两手对齐，才能拉满"分析之箭"**：只有右弓（会画图）没有左弓（懂业务）→ 图很漂亮但没结论；只有左弓没有右弓 → 观点很多但无证据。
- **从 BI 分析开始，最快建立全流程能力**：BI（商业智能）分析天然就是"业务问题 → 数据 → 图形"的闭环。Tableau 这类 BI 工具让新手从第一天就能跑通全流程，比先学编程更快建立完整认知——**先有闭环，再补深度**。

#### 3.2 全流程四阶段详解

![业务 → 数据 → 分析 → 决策](https://xilejun.com.cn/content/images/2026/09/s1-biz-data-analysis-flow.svg)

*图：业务 → 数据 → 分析 → 决策*

1. **业务**：从"老板/客户想知道什么" → "可分析的指标"。
- 例：利润下降 → 拆成 **区域 / 品类 / 时间 / 客户** 等维度，才能定位问题。
1. **数据**：找数据、验数据、建模型。
- 关系型思维：区分**维度表**（描述"谁/什么"）与**事实表**（记录"发生了什么"），用主键-外键关联。
- 示范（引用《数据集推荐》）：示例-超市（订单/退货/用户 **3 表关联**）、国家统计局（天然**星型模型**）、行政区划 **GeoJSON**（层级关联）。
1. **分析**：用 Tableau 把问题变成图形。
- 维度/度量、筛选、排序、LOD 表达式、参数控制——技术课逐步教，今天先认识"这些是用来回答问题的方法"。
1. **决策**：用图形讲故事，给出**可行动的建议**。
- 分析的终点不是图，是"所以我们应该……"。

#### 3.3 用一个案例把四阶段走一遍（建议贯穿演示）

![两种“计数”的差距：库存周转率的本质](https://xilejun.com.cn/content/images/2026/09/s1-two-counting-inventory.svg)

*图：两种“计数”的差距：库存周转率的本质*

> 用开场白板上的"利润下降"案例，现场走完左→右→决策，让方法论"活"起来。

- **左弓（业务）**：利润下降不是结论，是起点。先问——分区域看？分品类？分时间？分客户？把模糊问题拆成"分析维度树"。
- **右弓（数据）**：需要利润表 + 订单表 + 退货表，按区域/品类关联；验证数据口径一致（利润=收入−成本，口径统一）。
- **分析**：在 Tableau 里做区域利润地图、品类利润条形图、时间趋势折线——哪里掉得最狠，一眼可见。
- **决策**："华东区×家电品类 Q2 利润骤降 30%，建议优先排查该区供应商成本"——这才是分析交付物。

#### 3.4 常见陷阱（作为后续技术课的"避坑"线索）

- 只有图形没有业务结论（右强左弱）。
- 只有观点没有数据支撑（左强右弱）。
- 数据口径不一致（左右没对齐，结论不可信）。

### 四、板块 4 · 我如何把 AI 融入这次夏令营

> **核心命题**：定调协作边界。AI 做重复劳动，人做判断验证。

- **AI 做重复劳动**：写草稿、解释字段、排错、润色——省时间。
- **人做判断验证**：结论对不对、数据口径对不对、该不该这么决策——必须自己来。
- 一句话："AI 是副驾驶，你是驾驶员。"

---

## 第 2 期 · 问题的结构与维度度量

- **录制主题**：问题的结构和维度度量 2026-07-11-213021
- **录制时间**：2026-07-11 21:30（北京时间）
- **发言人**：喜乐君
- **系统关键词**：全流程起点、分析最小单元、核心原则、问题的统一结构、从答案开始、完整问题三要素、筛选器即"范围"、分析的本质、维度（dimension）与度量（measure）、指标是抽象的"虚数"、度量类型、问题决定图形

![维度与度量：问题的左边是视角，右边是答案](https://xilejun.com.cn/content/images/2026/09/dimension-measure.svg)

*图：维度与度量：问题的左边是视角，右边是答案*

这一期是夏令营的第二次正式课，定位是**全流程与方法论**——不讲零散操作，而是把我在客户培训中反复使用、去年刚整理的一套「问题的统一结构」框架立起来。后面几期的图形、筛选器、计算、模型，全部是这一框架的延伸。

### 一、全流程起点：从数据源到仪表板

第二次课我想系统地讲一下 Tableau 数据分析的**全流程**——它和具体操作有关。这套流程我习惯从 Desktop 开始（上次在群里发了下载链接）。

#### 1.1 连接数据源与示例超市

![全流程起点：从数据源到仪表板](https://xilejun.com.cn/content/images/2026/09/s2-data-to-dashboard.svg)

*图：全流程起点：从数据源到仪表板*

全流程是从**连接数据源**开始的。官方提供了测试数据；如果你有生产数据（像我这边的客户 ERP 数据），可以建不同的连接主题。对零基础的同学，我更推荐直接点右边的「示例超市」仪表板——这是一个做好的仪表板。否则直接进数据源，往往不知道要做什么。我们先看一个仪表板样例，从它往前倒推：我们能做什么？

#### 1.2 仪表板由「图 / 表 / 视图 / 工作表」构成

![图形与表：一体两面](https://xilejun.com.cn/content/images/2026/09/s2-chart-table-two-sides.svg)

*图：图形与表：一体两面*

整个仪表板可以看作由多个图构成：上面一个交叉表、一个地图，左下角一个，右边一个，共四个图。不同工具叫法不同——Tableau 中叫「可视化视图」，有时也叫 view（服务器上写的是 view id），官方名字是 worksheet，全称 visualization。不管叫交叉表、chart 还是图，指的都是**分析的最小单元**。

通过右上角，我们可以任意把它转化成各种图形。图形和表是**一体两面**——传统 Excel 和大部分 IT 开发只看见背后的表，而我们可以按需转成不同的图。注意：转化有好坏之分。

### 二、分析从「问题」开始：问题的统一结构

#### 2.1 必须有一个「的」：左边视角，右边答案

![分析从问题开始：必须有一个「的」](https://xilejun.com.cn/content/images/2026/09/s2-question-structure-de.svg)

*图：分析从问题开始：必须有一个「的」*

从单个图再往前推，图是由**字段**构成的。字段就是问题的结构，有时也叫领导分析的视角。比如「订单日期」「销售额」「细分」都是字段，字段来自左侧数据源。

这里有一句话非常重要：**分析是从问题开始的**。很多人的分析不是从问题开始，而是从数据开始——先想「我有几个字段，能做什么」。分析从问题开始，意味着你要先理解问题的结构。

比如领导说「我想分析产品的销售」。这本身是个想法，结构很难落地，尤其现在很多人把这种问题直接丢给 AI，AI 往往很难理解真正的结构。我们要给 AI 一个确定性的结构，人人理解都不会错。应该是这样：**「各个类别、子类别的销售额总和」**。注意我写的是「销售额总和」而不是「销售额」，原因待会儿讲。左边是类别、子类别（我们叫分析视角），中间有个「的」，右边是答案。

这有点像英文里的 `total sales by product`——中英文表述常常相反，英文的 by 对应中文的「的」。英文里 total 不会省略，否则 sales 是平均还是最大说不清；中文常省略，但建议这里写上。

#### 2.2 从答案开始：高到低的聚合过程

理解问题的统一结构，必须有一个「的」：左边是分析视角（领导问的问题关于什么），右边是答案（用什么值回答领导才满意）。一个问题不可能没有值。

我为什么强调把「的」左右写清楚？因为分析都是从问题的答案（右边）开始，而不是左边。我想让大家感受分析是**从高到低的聚合过程**：

- 先点「的」后面的部分：「销售额总和」写全是「所有产品的销售额总和」（「所有」是全集可省略，也可理解为「公司的销售额总和」）。
- 加上类别，一个值变成三个值（L1：每个类别的销售额总和）。
- 再加子类别，变成 17 个值。

双击「销售额」，默认生成的是一个值；点「类别」，一个值变成三个值。现在很多人没有这个习惯，描述想法时直接丢给 AI「无脑干完」。如果 AI 能无脑干完，就不需要人了。我们应该训练 AI 养成好习惯——从规范的问题结构开始。

#### 2.3 完整结构 = 范围 + 维度 + 度量

![完整的问题结构 = 范围 + 维度 + 度量](https://xilejun.com.cn/content/images/2026/09/s2-full-problem-structure.svg)

*图：完整的问题结构 = 范围 + 维度 + 度量*

为什么上面的结构是「简化结构」？因为它不完整。统计学有个重要概念叫**样本（sample）**，Tableau 里也有——度量上有「样本标准差」「总体标准差」「样本方差」。样本就是分析时取一部分。城市里科学家能通过水质倒推吸毒人数，经济普查也用抽样。99% 的分析基于样本而非总体。

所以更普遍的结构是：**「2024 年，各个类别的销售额总和」**——前面加「分析范围」。所有问题的结构都是：**范围 + 视角（的左边）+ 答案（的右边）**。三部分缺一不可：你说省了样本，其实样本就是总体；说省了维度，其实视角是最高层级，只是省了总体。我的描述约定是：**逗号左边是分析范围，「的」左边是分析视角，「的」右边是答案。**

### 三、筛选器即「范围」：限定分析边界

![筛选器即“范围”：把分析限定在指定边界内](https://xilejun.com.cn/content/images/2026/09/filter-scope.svg)

*图：筛选器即“范围”：把分析限定在指定边界内*

![筛选在问题结构中的位置](https://xilejun.com.cn/content/images/2026/09/filter-in-problem-structure.svg)

*图：筛选在问题结构中的位置*

有了结构，可以加筛选。比如看「年」：订单日期有多种取法，右键「显示筛选器」最简单，默认全集（显示所有年度）；只勾 2024 年，视图就变。也可以把订单日期拖到筛选器选。结构和 Excel 筛选器一样。

大数据需要更高灵活性：换「区域」只勾「东北」，数据就变。从结构上说都是一样的核心问题结构。

### 四、分析的本质：分组 + 聚合

![Excel 透视表：分析的本质 = 分组 + 聚合](https://xilejun.com.cn/content/images/2026/09/excel-pivot.svg)

*图：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 分）；不同测评内容不同，如供应链里不同产品库存区间不同，要造「变异系数」拉齐。又比如用「标准差」刻画班级心理波动。这些平均、标准差、系数都做了多次处理，是聚合的二次处理，都是聚合方式。有了聚合方式才有指标——指标不存在于明细表，是我们对问题的想象与刻画。

### 六、指标是抽象的「虚数」

![指标是抽象的「虚数」：由聚合造出](https://xilejun.com.cn/content/images/2026/09/s2-metric-imaginary.svg)

*图：指标是抽象的「虚数」：由聚合造出*

#### 6.1 现实中不存在，但让事物可比

问题结构讲完，倒回去说指标：指标刻画问题的答案，这个答案在现实中不存在。现实中只有构成聚合的值——没有利润率、没有平均得分、没有销售额总和；现实中只有构成这些指标的明细。

我常举例子：**√(-2) 在实数范围内没有平方根**（负数平方都是正数）。几百年前科学家为了解题，必须造出这个东西，称为**虚数（imaginary number）**——现实中没有，但很重要，让事物可比。企业不知道上月利润率就别干了；学生脑袋上没有「健康指数」，是我们造出来的，但很重要。

#### 6.2 指标的分类：简单聚合 vs 高级指标

分析是抽象的世界——这也是我依然看好 AI 时代分析未来的原因。Coding 是现实世界，逻辑确定，AI 很快；分析的抽象很多人（尤其 IT 出身、受唯物主义影响、只信看得见的东西）不好理解。他们常把销售额、库存周转率、利润率过度物化记进数仓——可以记，但要知道那已是临时物化的指标，只在有限范围有效。

指标必须基于聚合，按聚合分类：**简单聚合**（总和、平均、平均得分）；**标准差**衡量班级心理波动，是**高级指标**（基于单个值与均值再处理）。指标有高低之分。这次讲的相对抽象，对后面很重要。

### 七、问题决定图形：最佳图形在写问题时已定

问题核心结构搞定了，再看任何图都知道是什么。比如「月、年、类别、销售额总和」——「销售额总和」有聚合方式，度量（指标）默认求和，也可改平均。不是每个度量都叫指标，就像不是每个指标都影响工资（叫 KPI）。

左边「类别」「年月」是观察视角（维度）。Tableau 自动生成的表述像「按产品划分的月度销售额」，不好；规范说法是「各类别各订单年月的销售额总和」。熟练后可不写结构直接拖图形：双击销售额出一个值（最高聚合），加类别变三个值，加订单日期默认按年。类别放上面强调共用轴，放下面强调各自趋势。

所有问题回到原点，结构最重要。不管哪个图，背后都是这样的描述；官方描述往往不好。我们基于简化结构延伸了分析本质：分析是抽象、是分组聚合。写问题时，右边写领导关心的指标，左边写维度（数据表里有什么），无限组合。至于组合后用什么图形，以后讲——**问题的最佳图形在你写问题时就确定了，不是挑好看的。**

---

## 第 3 期 · 可视化：从问题到图形

- **系统关键词**：连续性、观察的视角、字段角色、坐标轴、交叉表、数据类型、条形图、心理状况、问题、盒须图

![第 3 期 · 从问题到图形：可视化方法与三图一表](https://xilejun.com.cn/content/images/2026/09/s3-infographic.svg)

*图：第 3 期 · 从问题到图形：可视化方法与三图一表*

![可视化框架：像化妆一样一层层叠加](https://xilejun.com.cn/content/images/2026/09/viz-framework.svg)

*图：可视化框架：像化妆一样一层层叠加*

前两期我们解决了一个根本问题：**问题怎么写**——第 1 期立起「业务→数据→分析」的框架，第 2 期把问题的统一结构讲透（范围 + 维度 + 度量）。

这一期的定位是**可视化落地**：把写好的问题真正变成图形。一句话概括本期主线——**问题的最佳图形，在你写问题时就已经确定，不是挑好看的**。这一期讲清它如何被确定。

### 本期要点预览

- **从问题到图形**：复习问题结构，引出「分析目的」这一步，目的决定图形
- **字段的连续 / 离散**：蓝色离散、绿色连续；离散生成标题、连续生成轴
- **三图一表**：业务分析最通用的四个基本功，覆盖九成问题
- **分布分析图表**：直方图、盒须图——看数据「长什么样」

### 一、从问题到图形：Tableau 的可视化方法

#### 1.1 问题结构 → 分析目的 → 图形

![从问题到图形：问题类型与可视化主视图](https://xilejun.com.cn/content/images/2026/09/s3-question-to-visual.svg)

*图：从问题到图形：问题类型与可视化主视图*

第 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 期 · 分布分析与相关性分析：从看“多少”到看“形状”和“关系”](https://xilejun.com.cn/content/images/2026/09/s4-infographic.svg)

*图：第 4 期 · 分布分析与相关性分析：从看“多少”到看“形状”和“关系”*

![分析层次递进：从看“多少”到看“形状”和“关系”](https://xilejun.com.cn/content/images/2026/09/hierarchy.svg)

*图：分析层次递进：从看“多少”到看“形状”和“关系”*

前三期走完了从"为什么学"到"问题怎么写"再到"问题怎么变图形"的主线：第 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](https://xilejun.com.cn/content/images/2026/09/histogram-set.svg)

*图：直方图：频数分布，并引出数据桶与 FIXED LOD*

**看什么**：一个连续度量按区间分箱后，每个区间的频数（记录数）。

**核心操作——数据桶（bin）**：

- 右键度量 →「创建 → 数据桶」→ 设定区间大小
- 数据桶是一种特殊的字段：它把连续度量切成离散区间，本质是"按值域分组"
- 分箱后计数（CNT），本质还是第 2 课的"分组 + 聚合"——只是分组依据从维度变成了值域区间

**引出 FIXED LOD 表达式**：

- 直方图有个常见需求：想在分箱的同时，固定某个维度的聚合级别（如"每个类别的销售额分布"中，先按类别固定聚合，再看分布）
- 这就引出了 LOD 表达式中的 FIXED 级别：`{FIXED [类别]: SUM([销售额])}`
- LOD 表达式让分析不再受当前视图层级的限制——这是从"简单聚合"走向"高级计算"的入口
- 详细用法将在后续"计算"课程展开，这里先建立概念

**分布形态**：直方图能揭示数据的概率分布形状。业务数据中常见的形态包括：

- **泊松分布**（右偏）：大量小值、少量大值——如订单金额分布（多数小额订单，少数大额订单）
- **正态分布**（钟形）：中间多、两头少——如考试成绩、身高
- **均匀分布**：各区间频数接近——较少见，如随机抽样

> 📌 喜乐君标注：直方图最常揭示的是泊松分布（右偏）——这恰恰说明业务中"长尾"是常态：少数客户贡献多数收入、少数产品贡献多数销量。

**业务含义**：直方图告诉你"数据分布是否均匀"。如果严重右偏，意味着少数高值拉高了均值——此时用"平均"会误导，应该看中位数。

#### 2.3 盒须图：集中度分布——引出参考线与表计算

![盒须图：集中度分布，盒与须都是表计算的简化形式](https://xilejun.com.cn/content/images/2026/09/boxplot.svg)

*图：盒须图：集中度分布，盒与须都是表计算的简化形式*

**看什么**：一个连续度量的五数概括——中位数、下四分位（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 散点图：两个连续度量 × 离散分类

![散点图：两个连续度量 × 离散分类](https://xilejun.com.cn/content/images/2026/09/scatter.svg)

*图：散点图：两个连续度量 × 离散分类*

**看什么**：两个连续度量分别在 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 双轴图：两个连续度量 × 连续日期

![双轴图：两个连续度量 × 连续日期](https://xilejun.com.cn/content/images/2026/09/dualaxis.svg)

*图：双轴图：两个连续度量 × 连续日期*

**看什么**：两个度量共享一个连续日期轴，各占一条 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 课"左右开弓"中左弓（业务）的价值。

### 四、地理空间：特殊的"分布"

![填充地图：区域按聚合值填色](https://xilejun.com.cn/content/images/2026/09/fill-map.svg)

*图：填充地图：区域按聚合值填色*

![符号地图：点 = 位置，大小 / 颜色 = 度量](https://xilejun.com.cn/content/images/2026/09/symbol-map.svg)

*图：符号地图：点 = 位置，大小 / 颜色 = 度量*

![四象限划分：以两个度量交叉看业务结构](https://xilejun.com.cn/content/images/2026/09/boston.svg)

*图：四象限划分：以两个度量交叉看业务结构*

#### 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 期 · 交互与仪表板设计：从静态图形到可探索的分析](https://xilejun.com.cn/content/images/2026/09/s5-infographic.svg)

*图：第 5 期 · 交互与仪表板设计：从静态图形到可探索的分析*

![七期三阶段：指标 → 问题 → 交互与模型](https://xilejun.com.cn/content/images/2026/09/01-overview-3stage.svg)

*图：七期三阶段：指标 → 问题 → 交互与模型*

![从交互五构件到仪表板：零件 → 装配](https://xilejun.com.cn/content/images/2026/09/12-case-flow.svg)

*图：从交互五构件到仪表板：零件 → 装配*

> 📌 正式课 · 课前要点（直播前发布，供预习） 录制回放：课后补充 配套逐字稿：夏令营\_第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 期顺延，具体编号见文末""。

### 二、交互的五个基础构件

![交互五构件总览：筛选 / 组 / 集 / 层级 / 参数](https://xilejun.com.cn/content/images/2026/09/02-overview-components.svg)

*图：交互五构件总览：筛选 / 组 / 集 / 层级 / 参数*

> 这五个构件回答了同一个问题："用户怎么改变看到的答案？" 前四个改"数据或分类"，参数改"逻辑"。

#### 2.1 筛选（Filter）——改"哪些行参与计算"

![筛选：层层删行，改“哪些行参与计算”](https://xilejun.com.cn/content/images/2026/09/03-filter.svg)

*图：筛选：层层删行，改“哪些行参与计算”*

- **本质**：从数据源**删行**，作用范围是整个视图的所有标记
- 三类基本筛选：维度筛选（蓝，行级 / 类别）、度量筛选（绿，聚合级）、日期筛选（连续日期的范围）
- 筛选器之间**有先后顺序**——详见 2.4 筛选器优先级；此处先记住"筛选=删行"这一本质即可

#### 2.2 组（Group）——改"怎么分类"

![组：改“怎么分类”](https://xilejun.com.cn/content/images/2026/09/04-group.svg)

*图：组：改“怎么分类”*

- 把维度中多个成员合并为一个新成员（如把几个小类别合并为"其他"）
- 结果：生成一个**新的维度字段**；属于"静态重分类"
- 操作：右键维度成员 →「创建组」

#### 2.3 集（Set）——改"在集内还是集外"

![集（布尔）：在集内 ∈ / 集外 ∉](https://xilejun.com.cn/content/images/2026/09/05-set-boolean.svg)

*图：集（布尔）：在集内 ∈ / 集外 ∉*

![条件集：随数据动态更新的集](https://xilejun.com.cn/content/images/2026/09/06-set-dynamic.svg)

*图：条件集：随数据动态更新的集*

![集运算：交集 / 并集 / 差集](https://xilejun.com.cn/content/images/2026/09/07-set-ops.svg)

*图：集运算：交集 / 并集 / 差集*

- 满足某条件或手动选中的记录的集合，把数据分为"**在集 / 不在集**"两部分
- 两种创建方式：**按条件**（动态，随数据更新）、**手动**（固定选择）
- 集的强大之处：
- 可用于计算：`IF [集] THEN ... END`
- 可作为筛选器
- 可配合"集动作"实现点击交互（见 3.3）
- **组 vs 集**（一条必须讲清的对比）：
- 组 = 重命名合并，产生**新维度**
- 集 = 二分判定，产生**∈/∉ 的布尔字段**

#### 2.4 筛选器优先级与上下文筛选器——集"抢跑"在维度筛选之前

![筛选器优先级：条件集先于维度筛选](https://xilejun.com.cn/content/images/2026/09/08-filter-priority.svg)

*图：筛选器优先级：条件集先于维度筛选*

> 筛选器不是同时生效，而是按固定顺序逐层作用。这一段优先级，是 Tableau 最容易踩坑、也最能体现"计算顺序（Order of Operations）"威力的地方。

- **Tableau 的计算顺序**与筛选相关的一段（自上而下、由外到内）：
1. 数据源筛选 / 提取筛选（最外层，连数据集都先砍）
2. **上下文筛选器（Context Filter）**
3. **条件集 / 顶部集（Top N、Condition Set）**
4. 维度筛选（普通行级 / 类别筛选，蓝）
5. 度量筛选（聚合级，绿）
6. LOD（FIXED）→ 表计算 → 表计算筛选 → 参考线
- **关键强调：条件集 / 顶部集，排在行级别筛选（维度筛选）之前。** 默认情况下，Top N 或"满足条件"的集，是在"上下文筛选器之后、普通维度筛选之前"的数据上算出来的——集"抢跑"在维度筛选前面。
- **上下文筛选器用来调整这个优先级**：把某个维度筛选"提升"为上下文筛选器（右键 →「添加到上下文」），它就排到集 / 顶部集**之前**生效。典型场景：想让"Top 10 客户"基于"已选定的地区"来算——把地区筛选器设为上下文筛选器，集就在地区限定之后才计算 Top 10。
- 一句话：**集 / 顶部集默认先于维度筛选；上下文筛选器是把"先按某维度过滤、再算集"的开关。**
- **与外部筛选器的关系**：外部筛选器按此优先级先作用于数据集；而"条件度量"的计算条件嵌套在聚合内部、逐行判断（这部分在后续"计算的类型"章节展开）。

#### 2.5 层级（Hierarchy）——改"钻取深度"

![层级：改“钻取深度”（年 → 季 → 月）](https://xilejun.com.cn/content/images/2026/09/09-hierarchy.svg)

*图：层级：改“钻取深度”（年 → 季 → 月）*

- 把多个维度按上下级组织（如 年→季度→月→日，或 类别→子类别）
- 视图中点击 `+ / −` 即可下钻 / 上卷
- 本质：维度的"折叠结构"，让一张图承载多个粒度

#### 2.6 参数（Parameter）——改"计算逻辑"（胶水）

![参数：改“计算逻辑”的胶水](https://xilejun.com.cn/content/images/2026/09/10-parameter.svg)

*图：参数：改“计算逻辑”的胶水*

- 参数是用户可在视图 / 仪表板中调节的**变量**；本身不计算，必须配合计算字段或直接使用
- 经典用法：
- 参数 + 计算字段 → 动态度量（让用户在 销售额 / 利润 / 数量 间切换）
- 参数 + 筛选 → 控制 Top N
- 参数 + 参考线 → 动态阈值
- **关键提醒**：参数**不能直接筛选数据**，需借助 `IF [参数]=...` 计算字段，或把参数"绑定"到筛选器
- 五个构件的关系：筛选 / 组 / 集 / 层级改"数据或分类"，参数改"逻辑"——**参数让前四者变成动态**

### 三、仪表板设计：把交互"装进一块板"

#### 3.1 仪表板是什么

- 多个工作表（worksheet）+ 对象（object）组成的单一画布
- 目的：让一个业务问题能"换角度、下钻、联动"地回答
- **关键认知**：仪表板不是"图拼图"，而是"一个分析流程的可视化"

#### 3.2 对象与布局

![仪表板布局：平铺 vs 浮动](https://xilejun.com.cn/content/images/2026/09/11-dashboard-layout.svg)

*图：仪表板布局：平铺 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 认知陷阱、聚合的聚合、行级别的两种位置、高级计算两大分支、条件聚合、学习建议
- **整理说明**：由会议录制转写生成，已去除语气词、口头禅及无意义过渡语，并按语义重新分段；段落时间戳为各段起始–结束时间，便于回溯原录音。

![计算的体系：筛选是简单形式，模型是高级形式](https://xilejun.com.cn/content/images/2026/09/01-calculation-system.svg)

*图：计算的体系：筛选是简单形式，模型是高级形式*

前五期走完了「问题 → 图形 → 交互」：第 2 期讲透问题的统一结构（范围+维度+度量），第 3/4 期把图形落地为三图一表与分布相关性，第 5 期让图形"活"起来。本期切入**计算**。需要先澄清一个根本区分：**计算的本质是弥补数据表已有字段的不足**——`year()` 从日期里**提取**年、`left()` 从文本里**截取**字符串、`sum()` 把明细**汇总**成概括，都是在"造出原本没有的字段"。

因此**分析的本质是分组聚合，但计算的本质不是聚合——聚合（sum 等）只是计算的一种关键形式**；甚至筛选（判断并保留 true）与后期多表合并（集运算）也都是计算的特殊形式。所有计算都是在某个详细级别上的计算，而非"都是聚合"。我们用一节课建立"计算金字塔"：行级别计算（明细层）→ 聚合计算（视图层）→ 表计算 / LOD（二次计算层），并用示例超市把四种写法放在一起对比。

![第6期课程大纲关系图](https://xilejun.com.cn/content/images/2026/09/s6-infographic.svg)

### 一、回顾与定位：为什么现在讲计算

#### 1.1 前几期的主线

- 第 2 期：问题结构 = 范围 + 维度 + 度量（"指标是虚数"）
- 第 3 期：三图一表，把问题变成图形
- 第 4 期：分布与相关性，从"看多少"到"看形状、看关系"
- 第 5 期：交互与仪表板——筛选 / 组 / 集 / 层级 / 参数，以及筛选器优先级

这些成果里，所有"度量"默认就在被聚合。但"度量到底怎么算出来"这件事，前几期没拆开讲。本期补上这层"计算内核"。

#### 1.2 本期主线

- **计算的本质 = 弥补数据表已有字段的不足**：数据表只记录最直接的原始字段（订单日期、产品名称、销售额…），而分析要的"年""品类前缀""利润率""区域销售额"并不现成存在。`year()` 从日期里**提取**年、`left()` 从文本里**截取**字符串、`sum()` 把明细**汇总**成概括——都是在"造出原本没有的字段"。指标（虚数）正是这样被计算"造"出来的（呼应第 2 期"指标是虚数"）
- **关键区分**：**分析的本质是分组聚合，但计算的本质不是聚合**——`sum` 这类聚合只是计算的一种关键形式，计算涵盖的范围远大于聚合
- **统摄视角：筛选与合并也是计算**（打通前后期）
- **筛选是计算的特殊形式**：筛选对每一行"判断条件并保留 true"——`[区域]="东部"` 这个判断本身就是行级计算，保留 true 是计算结果的物化。所以第 5 期的筛选器，本质是"行级计算的特例"
- **数据合并是计算的特殊形式（后期）**：多表的连接 / 并集本质是**集合运算（集运算）**，是跨表层面弥补字段与记录不足的方式。这部分留到第 7 期"模型"系统展开，但先建立认知：合并也是计算
- **一句话概括**：所有计算都是在某个详细级别上的计算——不是所有计算都是聚合；详细级别（LOD）是贯穿行级、聚合、表计算、LOD，乃至筛选与合并的统一视角

![计算的本质：弥补字段不足](https://xilejun.com.cn/content/images/2026/09/calc-essence.svg)

![筛选是计算的特殊形式](https://xilejun.com.cn/content/images/2026/09/filter-is-calc.svg)

![数据合并是计算的特殊形式](https://xilejun.com.cn/content/images/2026/09/merge-is-calc.svg)

#### 1.3 与往期的衔接

- 第 2 期"指标是虚数" → 本期"计算的类型"（把那句话落地成行级 / 聚合 / 表计算 / LOD 四类）
- 第 5 期"筛选器优先级（2.4）" → 本期"外部筛选器 × 内部计算条件"的分层（3.3）
- 第 4 期"FIXED LOD 引子" → 本期 LOD 章节（第五节）系统展开

### 二、计算的演进与两大分类（书 8.1 / 8.2）

![分析本质计算体系：四类计算的位置与关系](https://xilejun.com.cn/content/images/2026/09/s6-calculation-system.svg)

*图：分析本质计算体系：四类计算的位置与关系*

![透视表的本质：聚合，而非转置](https://xilejun.com.cn/content/images/2026/09/02-pivot-aggregation.svg)

*图：透视表的本质：聚合，而非转置*

#### 2.1 演进：Excel 透视 → SQL 查询 → Tableau 三合一（8.1.4）

- **Excel 透视表**：拖拽即聚合，但计算藏在界面背后，难以精确表达
- **SQL 查询**：`SELECT 维度, SUM(度量) … GROUP BY 维度`——聚合逻辑显式、可控，但需写语句
- **Tableau 三合一**：图形、聚合、计算字段在视图上合一——拖拽生成查询，计算字段用表达式精确控制，兼得两者之长
- 落点：三种工具处理的是同一件事——**把明细变成答案**（聚合是其中最关键的一种计算形式，其余形式后文展开），只是表达方式不同；理解演进，才能理解 Tableau 为什么这么设计（与"计算的本质不是聚合"同一口径）

![计算的演进三合一](https://xilejun.com.cn/content/images/2026/09/evolution-trio.svg)

#### 2.2 两大分类框架（8.2）：行级别计算 vs 聚合计算

所有 Tableau 计算，先按"计算发生的时机"一分为二：

- **行级别计算**：在每一行（明细）上独立求值，结果仍是明细字段
- **聚合计算**：先按视图层级聚合，再做运算（或运算后再聚合）

这是后续一切分类（条件聚合、表计算、LOD）的总纲。

### 三、行级别计算 vs 聚合计算（书 8.2.1 ⭐核心）

![两类基本计算：行级别 vs 聚合](https://xilejun.com.cn/content/images/2026/09/03-two-basic-calcs.svg)

*图：两类基本计算：行级别 vs 聚合*

#### 3.1 行级别计算

- **定义**：对数据源的**每一行**独立运算（如 `利润 = 销售额 − 成本`），结果仍是明细级别的一个字段
- **特点**：不依赖其他行、不受视图层级影响（在聚合之前就逐行算好）
- **例子**：`[利润率] = [利润] / [销售额]`、`[折扣后价] = [单价] * (1 − [折扣])`

#### 3.2 聚合计算

- **定义**：**聚合后运算**——`SUM([利润])`、`AVG([得分])` 等。相当于在**视图详细级别**（当前问题的行列维度）上完成**分类汇总计算**，对明细做**抽象概括**；依赖视图（问题）的详细级别
- **特点**：结果随视图层级（viz LOD）变化；视图的行列（维度）决定了聚合的粒度
- **关键认知**：Tableau 的度量"默认就是聚合的"——拖入一个度量，Tableau 自动按当前详细级别聚合

#### 3.3 条件聚合：行级别计算 × 聚合计算的组合形式（理解 BI 差异的关键）

![条件聚合：YTD / MTD 与四工具对照](https://xilejun.com.cn/content/images/2026/09/05-conditional-aggregation-ytd.svg)

*图：条件聚合：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` 条件在聚合内逐行判断，只决定这一个度量挑哪些行。这一分层，是理解后续复杂计算的前提。

![条件聚合具体示例](https://xilejun.com.cn/content/images/2026/09/conditional-aggregation-example.svg)

### 四、表计算：聚合之上的「二次计算」（书 9 章）

#### 4.1 本质：聚合之上的「二次计算」（9.3）

- **第一次聚合** \= 视图聚合（把明细按视图详细级别聚成标记）
- **第二次计算** \= 表计算：在视图聚合的结果上"再算一层"——沿某个方向（行/列/单元格）对已有聚合值做运算
- **注意：表计算不一定是二次聚合**。例如 `LOOKUP(SUM([销售额]), -1)` 只是沿轴"取上一个值"，是取值计算而非再聚合；只有"合计百分比""差异"这类才是在聚合结果上再聚合
- 关键：表计算**看不到明细**，只看到视图已经聚合出来的那些值；它是在已聚合结果上追加的"计算层"

![表计算示例](https://xilejun.com.cn/content/images/2026/09/table-calc.svg)

#### 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 表达式让计算**脱离视图详细级别**，在指定的级别上完成聚合

![LOD 具体示例](https://xilejun.com.cn/content/images/2026/09/lod-example.svg)

```mermaid
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）」一份数据，把四类计算放在一起对比，建立直觉：

1. **客户购买频次分析**（10.1.1：FIXED 入门）——`{FIXED [客户名称]: COUNTD([订单ID])}`
2. **客户购买力分析**（10.5.2：嵌套 LOD 多遍聚合）⭐——`{FIXED [客户]: SUM([销售额])}/{FIXED [地区]: SUM([销售额])}`，嵌套两层 FIXED 算客户占比
3. **同环比偏移**（9.2：差异表计算）——时间轴上的增长，对比 LOD 写法
4. **实操对比（动手 ⭐）**：同一问题——"各地区销售额占比"，用四种写法实现，看"聚合发生在哪一层、由谁控制粒度"：

| 写法        | 字段 / 表达式                                              | 观察点                            |
| --------- | ----------------------------------------------------- | ------------------------------ |
| ① 行级 + 聚合 | 行＝\[地区\]，列＝SUM(\[销售额\])                               | 得到各地区销售额；占比还差一个"分母"——引出后三种     |
| ② 条件聚合    | 列＝SUM(IF \[地区\]="东部" THEN \[销售额\] END) / SUM(\[销售额\]) | 东部占比；换条件即可同图对比"东部 vs 全国"       |
| ③ 表计算     | 列＝SUM(\[销售额\]) ＋ 快速表计算「合计百分比」（相对总计）                   | 占比随视图结构变化（分区 / 寻址）；行、列方向不同结果不同 |
| ④ LOD     | 列＝SUM(\[销售额\]) / {FIXED : SUM(\[销售额\])}               | 分母固定在整个数据级别，不受视图结构影响——最稳定      |

**动手范围**：学员跟做 ③ 和 ④（表计算 + LOD 各一个）；① ② 以直播演示为主，理解"条件内置 vs 删行"的分流即可。

**落点**：四种写法解决同一类业务问题，差异在"聚合发生在哪一层、由谁控制粒度"。这就是"计算金字塔"的实战映射。

### 七、总结：计算的「金字塔」与优先级（书 10.4）

#### 三层金字塔

- **明细层**：行级别计算——每行独立运算，结果仍是明细字段
- **视图层**：聚合计算——按视图详细级别汇总（聚合是计算的一种关键形式，但并非全部）
- **二次计算层**：表计算 / LOD——在聚合结果上追加计算（表计算，未必是再聚合），或脱离视图指定级别聚合（LOD）
- **跨层组合**：条件聚合 = 行级别计算（逐行判断）× 视图层聚合（汇总）——不是独立的第四层，而是"行级 × 视图层"的组合

#### 一个统一视角

> **所有计算都是在某个详细级别上的计算——不是所有计算都是聚合。** 详细级别（LOD）是贯穿行级、聚合、表计算、LOD，乃至筛选与合并的统一视角；而聚合，只是计算的一种关键形式。

掌握"计算金字塔"与计算顺序（Order of Operations），就能判断任一计算的时机、级别与结果——这是本期要带走的核心心智模型。

![高级计算的两大分支：二次计算 vs 预先计算](https://xilejun.com.cn/content/images/2026/09/04-advanced-two-branches.svg)

*图：高级计算的两大分支：二次计算 vs 预先计算*

---

## 第 7 期 · 数据模型：从单表到多表

![第 7 期 · 数据模型：从单表到多表](https://xilejun.com.cn/content/images/2026/09/s7-infographic.svg)

*图：第 7 期 · 数据模型：从单表到多表*

![课堂三段递进：从引子到双层结构再到混合](https://xilejun.com.cn/content/images/2026/09/01-three-stage-flow.svg)

*图：课堂三段递进：从引子到双层结构再到混合*

![数据合并也是计算的特殊形式：多表合并 = 集运算](https://xilejun.com.cn/content/images/2026/09/merge-is-calc.svg)

*图：数据合并也是计算的特殊形式：多表合并 = 集运算*

前六期我们始终在「单张表」里打转——第 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 的双层结构：物理层 + 逻辑层](https://xilejun.com.cn/content/images/2026/09/02-bookshop-two-layers.svg)

*图：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](https://help.tableau.com/current/pro/desktop/en-us/bookshop%5Fdata.htm?ref=xilejun.com.cn)。

#### 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）到 `Edition`**
- `Book`、`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 物理层：预先合并（提前扩大单表）

![合并框架：合并方式 × 合并位置的二维图](https://xilejun.com.cn/content/images/2026/09/03-merge-framework-2x2.svg)

*图：合并框架：合并方式 × 合并位置的二维图*

- **做法**：在连接阶段就把多张表**预先合并成一张大表**（提前扩大单表），之后所有分析都基于这张合并后的宽表
- **优点**：结构稳定、查询高效，分析时无需再考虑表之间的关系
- **缺点**：**不能解决重复**——当两张表是"一对多"时，预先合并会把"一"端记录复制多份，造成数据膨胀与重复计数（详见第四节）
- **典型操作**：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。

---