# Power BI 到底解决什么问题：从 Excel 透视表到自动更新的看板

搞清 Power BI 与 Excel 透视表的关系，以及一份看板从原始数据到定时刷新要走的五步

> Power BI 入门 · 数据建模 · 报表自动化 · 约 8 分钟 · 10 月 03 日

## 本篇要点

1. Power BI 要解决的核心问题不是算得更深，而是把“每次手动重做一遍”的报表流程，改成写一次、之后自动运行的流水线。
2. Excel 透视表的三处限制是分析范围通常只在一张表、数据更新靠人打开文件刷新、分发靠文件副本。
3. Excel 的数据模型（Power Pivot）能解决第一条的大部分——多表关系、DAX 指标、更大数据量；但刷新仍要人点，分发仍是文件副本。
4. Power BI 与 Excel 建模技术同源：Power Query 负责连接和清洗，建模与计算的引擎和 Excel 数据模型是同一套，透视表的维度—指标思维可以直接沿用。
5. 真正的差别有两条：Excel 操作单元格和公式，产生这一次的结果；Power BI 定义模型和度量值，产生以后每次都这样算的规则。以及分发方式从文件副本变成链接加权限。
6. 发布后一个文件在云端拆成语义模型（管数据来源与算法）和报表（管长什么样），多个报表可共用同一模型；刷新只发生在模型上，所以数据换了报表定义不用动。
7. 从数据到自动更新是五步：获取数据 → 用 Power Query 定义清洗步骤 → 建模（关系与度量值）→ 画报表 → 发布并设置计划刷新。
8. Power Query 的每一步会被记录成有序步骤并在刷新时完整重放，因此所有手工改动（直接敲正错误值、表外辅助列）都会在下次刷新时消失。
9. 导入模式下模型里存的是数据快照，看到的永远是上次刷新的状态；共享容量每天最多 8 次计划刷新、单次须在 2 小时内完成，Premium/PPU/Fabric 上限为 48 次。
10. 数据源在内网时需要在常开机器上安装网关，且网关里的服务器名和数据库名必须与 Desktop 中填写的一致。
11. DirectQuery 不导入数据、每次看图直接查源库、无需计划刷新，但清洗步骤必须能下推，DAX 和计算表受限，新手应先跑通导入路线。
12. Excel 并未被取代：手工录入、场景测算、一次性分析仍更合适，也可用“分析 Excel 中的 Power BI 数据集”让透视表连到已发布的语义模型。
13. 判断分界线：重复做、多人看、数据持续更新，三者占其二就值得做成 Power BI。

---

每周一早上，你可能都在做同一套动作：从业务系统导出销售明细 → 粘进 Excel → 刷新透视表 → 调好透视图的格式 → 另存一份副本 → 邮件发出去。到了下周一，数据一换，这套动作原封不动再来一遍。

这套流程本身没有错，问题在于它绑在人身上：人不在、人忘了、人有别的事，报表就是旧的。

Power BI 要解决的核心问题，就是把这套“每次手动做一遍的动作”，改写成一条“写一次、以后自动跑”的流程。它并不会让你的分析变得更聪明，它把你从重复劳动里挪出来。

## 先看清 Excel 透视表的能力边界

透视表做的事很具体：把一张明细表按行、列、值、筛选器四个位置重新摆一遍，每个交叉格子给出一个汇总。它快、直观、贴着手边的数据，是探索性分析最好的工具之一。

三处限制会在“这份报表要长期、反复地给别人看”时暴露出来。

第一，分析范围通常只在一张表里。想按客户行业看销售额，而行业字段在另一张客户表里，你就得先 VLOOKUP 拼一张大表。

第二，数据变新靠人触发。数据存在于文件内部，文件不打开、不点刷新，格子里的数字就停留在上次的状态。

第三，分发靠副本。给十个人发，就有十个版本的 Excel 文件在流转，谁手上的数字是旧的、谁又偷偷改了公式，没人说得清。

这里要补一句更准确的话：Excel 自己有一个“数据模型”（就是 Power Pivot），它能把多张表按关系连起来、用 DAX 算指标、容纳百万行以上的数据——第一条限制它解决了大部分。但刷新仍然要人打开文件点一下，分发仍然是文件副本。这一点恰恰说明 Power BI 和 Excel 的关系，下一节接着说。

## Power BI 和 Excel 是两个形态，不是两套本事

Power BI 的底层技术和 Excel 的数据模型是同一套：连数据、清洗数据用的是 Power Query，建模和算指标用的是和 Power Pivot 同源的引擎。你可以理解成，微软先把这套能力做成了 Excel 里的可选配件，后来觉得它值得有一个独立的产品，就做成了 Power BI。

所以你已经会的透视表思维可以直接搬过来——“维度放行、指标放值、筛选器切范围”这套逻辑没有变。真正的差别有两条。

一条是工作方式。Excel 的基本单位是单元格和公式，你在一张表上手工操作；Power BI 的基本单位是模型和度量值，你先定义“数据之间是什么关系、指标怎么算”，再由报表去引用它们。前者的结果是“这一次算出来的数字”，后者是“以后每次都会这样算的规则”。

另一条是分发方式。Excel 分发的是文件副本，Power BI 分发的是一个链接加一组权限，所有人看的是同一份数据。

## Power BI 由三样东西组成

弄明白这三样东西，后面的步骤才不会糊。

**Power BI Desktop** 是免费的 Windows 客户端。你在这里连接数据、清洗、建模、画图，成果保存成一个 `.pbix` 文件。这是你的工作台。

**Power BI 服务**是云端。你把 Desktop 的文件“发布”（Publish）上去，它就变成在线内容，别人通过浏览器和手机 App 查看。浏览器和手机 App 就是第三样，消费端。

这里有个关键细节，很多人学了很久都没意识到：**发布之后，你的一个文件在云上会拆成两样东西。**

一样是**语义模型**（semantic model，早期文档里叫“数据集”dataset），它负责“数据从哪来、怎么清洗、指标怎么算”。另一样是**报表**，它负责“长什么样、有哪些图表和切片器”。

拆开的意义是：多个报表可以接同一个模型，共用一套数据和指标定义；而数据更新只发生在模型身上，报表的定义根本不动。这就是“数据换了、图表不用重做”背后的技术原因。

## 从原始数据到自动更新：五步

**第一步：获取数据。** 在 Desktop 里点“获取数据”（Get data），从 Excel 文件、CSV、数据库、SaaS 系统等各种来源连进来。这里要养成一个习惯：连到最原始的那一层。如果连的是别人手工整理过的汇总表，上游一改格式，你的整条流程就断。

**第二步：用 Power Query 清洗。** 这是整篇文章最该记住的一步，也是自动化真正的机制所在。

你在 Power Query 编辑器里做的每一步——删掉没用的列、改数据类型、替换异常值、合并另一张表、追加多个月的明细——都会被记录成一串按顺序排列的**步骤**（右侧“应用的步骤”面板里那些名字）。它不是一次性改在你的数据上，而是一份操作说明书。

点刷新的时候，Power BI 会拿着这份说明书，从第一步开始**完整重放一遍**。

由此可以推出一条很实用的判断标准：你做每个动作时都问自己，我这是在“改这一次的结果”，还是在“定义一条每次都要执行的规则”？只有后者在自动化流程里有位置。任何手工改动——把几个错误值直接敲成对的、在表格旁边另加一列辅助公式——都会在下次刷新时消失得无影无踪。

**第三步：建模。** 把多张表之间的关系（relationship）建立起来，通常是一个“一对多”：一张客户表对应多行销售记录。再把要反复使用的指标写成**度量值**（measure，用 DAX 语言写）。透视表里“值区域放什么”的位置，在这里由度量值承担，但它是可复用、可命名、层次更丰富的。度量值具体怎么写值得单独讲，这里先按下。

**第四步：画报表页。** 把字段拖到画布上，选图表类型，加切片器和其他图表做交叉筛选，排版。这一步最容易上手，但它只是整条流水线的出口，不是全部。

**第五步：发布并设置计划刷新。** 点“发布”，把文件送到 Power BI 服务里，然后找到**语义模型**（注意，是模型，不是那个同名的报表——报表的设置里没有“计划刷新”这一项，很多人在这里找半天），打开刷新开关，选频率和时间点，再勾上“刷新失败时通知我”。

![Power BI 服务里语义模型的计划刷新设置界面](https://learn.microsoft.com/en-us/power-bi/connect-data/media/refresh-data/refresh-schedule-01.png)

之后每次到点，云端会按顺序做三件事：重新执行 Power Query 的全部步骤 → 把新结果装进模型 → 所有引用这个模型的报表自动读到新数字。你电脑关着、你人在休假，都不影响。

```mermaid
flowchart LR
  A["原始数据源：导出文件或数据库"] --> B["Power Query：连接与清洗步骤"]
  B --> C["语义模型：关系与度量值"]
  C --> D["报表页：图表与切片器"]
  D --> E["发布到 Power BI 服务"]
  E --> F["计划刷新：重放清洗步骤"]
  F --> C
```

## 自动更新的三条边界

上面说的“自动”不是无限的，有三条边界值得一开始就知道，能省掉很多困惑。

**一、导入模式是一份快照。** Power BI 最常用的模式叫导入（Import）：它把数据真的复制一份存进模型里。所以你看到的永远是“上次刷新的那一刻”的数据，不是实时的。刷新时间隔多久，数据新鲜度就是多久。

**二、刷新频率和时长有上限。** 语义模型放在共享容量上（对应 Power BI Pro 许可）时，每天最多 **8 次**计划刷新；放在 Premium、PPU 或 Fabric 容量上，上限是 **48 次**。另外在共享容量上，单次刷新必须在 **2 小时**内跑完，超了就会失败。这几个数字决定了“每天早八点更新一次”和“每小时更新一次”不是同一种诉求。

**三、数据源在内网就需要网关。** 云端服务访问不到你公司内网的数据库或文件服务器。解决办法是在内网一台常开的机器上装**网关**（gateway），它作为桥梁，云端刷新时通过它去取数据。网关里的服务器名、数据库名必须和你在 Desktop 里填的完全一致，配置不匹配是刷新失败最常见的原因之一。

如果你的需求确实需要接近实时，还有另一条路叫 **DirectQuery**：不复制数据，每次打开图表就直接去源数据库查，因此压根不需要计划刷新。代价是清洗步骤必须能“下推”成源数据库看得懂的原生查询，DAX 也受限制（比如不能用计算表）。新手阶段先不用管它，把导入这条路跑通再说。

## 那 Excel 还要不要用

要。手工录入、场景测算、一次性探索、需要精确控制单元格排版的报告，Excel 依然更合适。而且它还有一个很实用的用法：通过“分析 Excel 中的 Power BI 数据集”，Excel 里的透视表可以直接连到已发布的语义模型，看的是同一份受管控的数据，不用你手动贴数据。

大致的分界线是：这件事会不会重复做、要不要给一组人看、数据会不会持续更新。三个答案里有两个是“会”，就值得做成 Power BI；只是自己这一次想看看数，Excel 更快。

## 记住这条主线

Power BI 和 Excel 透视表不是替代关系，是同一个思路的两种形态。透视表让你手动完成一次分析；Power BI 让你把这次分析写成一条流水线：连到源头 → 定义清洗规则 → 建模型 → 画报表 → 定时刷新。

所以学 Power BI，重点不在“学会用哪个图表”，而在于养成一个习惯：每做一步都问一句，我是在做这一次，还是在定规则。

## 术语表

- 语义模型（semantic model）：发布到云端后负责“数据从哪来、怎么清洗、指标怎么算”的那一层，早期文档里叫数据集；刷新只发生在这里。
- 报表（report）：管图表长什么样、切片器怎么摆的那一层，引用语义模型的数据，数据刷新时它本身不需要改动。
- Power Query 的步骤：你在清洗界面做的每个动作被记录成一条有序规则，刷新时从头重放，而不是一次性改在数据上。
- 导入模式（Import）：把数据复制一份存进模型，查询快、建模最灵活，但看到的永远是上次刷新那一刻的数据。
- 计划刷新：在云端为语义模型设定时间和频率，到点自动重跑清洗步骤并把新数据装回模型。
- 网关（gateway）：装在公司内网、作为云端与内网数据源之间桥梁的程序，数据源不在公网时需要它。
- DirectQuery：不复制数据、每次看图直接查询源数据库的连接模式，适合接近实时的需求，但对清洗和计算的写法限制更多。
- 度量值（measure）：在模型里用 DAX 定义的、可反复引用的指标，相当于透视表“值区域”内容的可复用版本。

## 来源

1. [Microsoft Learn: Configure scheduled refresh — 计划刷新的配置步骤，以及 Pro 每天 8 次、Premium/PPU/Fabric 每天 48 次的上限](https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-scheduled-refresh)
2. [Microsoft Learn: Data refresh in Power BI — 导入模式的数据刷新机制、共享容量单次刷新 2 小时上限、网关与数据源定义](https://learn.microsoft.com/en-us/power-bi/connect-data/refresh-data)
3. [Microsoft Learn: Semantic model modes in the Power BI service — 导入与 DirectQuery 的差别，以及 DirectQuery 在 DAX 与计算表上的限制](https://learn.microsoft.com/en-us/power-bi/connect-data/service-dataset-modes-understand)
4. [Microsoft Learn: DirectQuery in Power BI — 适用场景与把导入作为默认模式的理由](https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about)
5. [Microsoft Learn: Tutorial: Connect to on-premises data in SQL Server — 网关连接与计划刷新的完整示例，含服务器名、数据库名必须一致的要求](https://learn.microsoft.com/en-us/power-bi/connect-data/service-gateway-sql-tutorial)
6. [Directions on Microsoft: Comparing Power BI Desktop and Excel — Power BI Desktop 免费，并从 Excel 继承了 Power Query 与 Power Pivot 的能力](https://www.directionsonmicrosoft.com/reports/comparing-power-bi-desktop-and-excel-2/)

---

原文：https://pangzhengboyin.com/articles/power-bi-vs-excel-pivottable-5181a8e1

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
