数据建模基础
🎯 本节目标
理解表之间的关系,学会写基础 DAX 公式,创建第一个度量值。
📖 1. 什么是数据建模?
想象你有一个"销售记录表"和一个"产品信息表"。
- 销售记录表有:订单号、产品ID、数量、金额
- 产品信息表有:产品ID、产品名称、类别
数据建模就是告诉 Power BI:"产品ID 是这两张表的桥梁",这样你就能在一个图表里同时用两个表的数据。
📖 2. 建立表关系
操作步骤
- 点击左侧 模型视图 图标(第三个)
- 拖拽一张表的主键到另一张表的外键
- Power BI 自动创建关系线
💡 类比:就像 Excel 里的 VLOOKUP,但更强大。
📖 3. 关系类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 一对多 (1:*) | 最常见 | 一个部门有多个员工 |
| 一对一 (1:1) | 较少用 | 员工和工牌 |
| 多对多 (:) | 需要特别注意 | 学生和课程 |
⚠️ 90% 的情况是一对多,这是默认关系类型。
📖 4. DAX 基础
DAX(Data Analysis Expressions)是 Power BI 的计算语言。
最简单的 DAX 公式
dax
总销售额 = SUM('销售表'[金额])这就像 Excel 里的 =SUM() 函数。
常用 DAX 函数
| 函数 | 用途 | 示例 |
|---|---|---|
| SUM | 求和 | SUM('表'[金额]) |
| COUNT | 计数 | COUNT('表'[订单号]) |
| AVERAGE | 平均值 | AVERAGE('表'[分数]) |
| CALCULATE | 条件计算 | CALCULATE(SUM('表'[金额]), '表'[地区]="华东") |
| DIVIDE | 安全除法 | DIVIDE(分子, 分母, 0) |
📖 5. 度量值 vs 计算列
| 度量值 | 计算列 | |
|---|---|---|
| 计算时机 | 查询时动态计算 | 数据加载时计算 |
| 占用空间 | 不占空间 | 占用空间 |
| 适用场景 | 聚合计算(SUM、AVG) | 行级计算 |
💡 原则:优先用度量值,除非你真的需要每行一个计算结果。
❓ 常见坑
⚠️ DAX 里的引号:文本用双引号
"",列名用单引号''
⚠️ 关系建立后,检查关系线方向(单向 vs 双向),默认单向就够了。
⚠️ CALCULATE 是 DAX 最重要的函数,但也最容易出错。先理解 SUM 再用 CALCULATE。
✅ 小练习
- 在模型视图中建立两张表的关系
- 创建一个"总销售额"度量值
- 创建一个"华东区销售额"度量值(用 CALCULATE)
预计用时:20 分钟
📝 本节小结
- 数据建模 = 告诉 Power BI 表之间怎么关联
- 一对多关系是最常见的
- DAX 是计算语言,类似 Excel 公式但更强大
- 度量值 vs 计算列:优先用度量值
💡 讲师提示
- 关系概念用生活比喻最有效(比如"一个班级有多个学生")
- DAX 部分让学员自己敲公式,不要只看
- CALCULATE 单独留 10 分钟讲解,这是关键
- 预计用时:40-50 分钟