Power BI沿袭视图详解:从看懂链路到做影响分析

Lineage 一词最常用于指血统,这个词的翻译有很多版本,这里我参照微软官方文档,译作沿袭。

在开始之前,我们先说明一条主线,在 Power BI 里,数据大概是这样流动的:

数据源 → 数据流 → 语义模型 → 报表 / 仪表板

Power BI 报表上的图表,并不是直接连数据库的 , 它连的是语义模型。

语义模型 里定义了表、关系、度量值、计算列、行级安全这些东西。报表只是把语义模型里的结果展示出来。

所以,一旦报表数字不对,或者你想改点东西,最关键的中间节点就是语义模型。沿袭视图也是围绕它展开的:往左看,它依赖哪些数据源和数据流;往右看,它被哪些报表和仪表板用着。

一 、语义模型 是什么?

Power BI 里的语义模型,以前叫"数据集",现在官方统一叫"语义模型"。

你可以把语义模型理解成报表背后的数据大脑。在 Power BI Desktop 里,你连数据、建关系、写度量值、做计算列、设权限,发布到 Power BI 服务之后,这些东西合在一起就是语义模型。报表里的"销售额""同比增长""客户数"这些指标,真正算的地方都在语义模型里。

这就带来一个很现实的后果:同一个语义模型,可能被很多张报表共用 。 你改一个度量值的口径,所有引用它的报表都可能跟着变。所以,动语义模型之前,必须先搞清楚影响范围。这就是沿袭视图最具有价值的地方。

二 、数据流和语义模型 如何 配合?

数据流和语义模型经常一起出现,但分工不一样。

数据流负责洗数据 。 它在云端用 Power Query 做数据准备,把源系统里的数据拉过来,做过滤、格式统一、关联、合并,然后把清洗好的"半成品表"存到云端。你可以把它理解成"云端共享版的 Power Query"。

语义模型负责建模和算数 。 它引用数据流里已经洗好的表,或者直接连数据源,然后在上面建关系、写度量值、定义计算逻辑。

那 为什么要有数据流 呢 ?

这是因为以前每个报表作者都在自己的 Desktop 里重复做一遍差不多的清洗,改一处得改好几处,刷新时还都去连同一个数据库,源系统压力也大。有了数据流,清洗逻辑集中做一次,多个语义模型直接引用,省时间、少出错、给源系统减负,而且把"数据准备"和"报表建模"解耦了。

三 、沿袭视图 ( Lineage view ) 怎么进、怎么看?

每个 Power BI 工作区都自带沿袭视图,不用额外装东西。打开工作区,在列表视图的旁边,点击"沿袭视图"就能进行切换。

不过不是谁都能看。你得有 Power BI Pro 或 Premium Per User 许可证,而且在这个工作区里至少是"贡献者"角色。 "管理员"和"成员"也能看,"查看者"不行。所以这功能主要是给做内容、维护内容的人用的。

进去之后,你会看到一条从左到右的图。最左边是数据源,然后是数据流和语义模型,最右边是报表和仪表板。每个东西都是一张卡片,箭头表示数据流向。

语义模型卡片是关键。 上面会直接显示最后一次刷新时间,还会显示有没有"认证"或"推广"标记。想只看某个东西的沿袭,就点卡片下面的双箭头,图会高亮它和所有上下游,其他不相关的变暗。工作区东西多的时候,这招特别好使。

四 、围绕语义模型做影响分析

沿袭视图最实用的场景,就是动手之前先看后果。

比如你想改语义模型里的一个字段名,或者调一下"销售额"这个度量值的计算逻辑。在语义模型卡片上,你会看到一个****"影响分析"按钮****。点一下,Power BI 就会把所有依赖这个模型的报表和仪表板都标出来,包括其他工作区里的下游内容。如果这个语义模型被跨工作区共享了,这功能几乎是救命的,不然你根本记不住谁在用。

同样的逻辑也适用于数据源。假如某个 SQL Server 数据库要停机维护,你点一下数据源卡片,就能看到租户里所有用这个源的语义模型和数据流。

再举个具体例子。你有一个中心语义模型,里面定义了"销售额""毛利""同比"这些核心指标。公司里有销售报表、财务报表、运营仪表板都连的这个模型。某天你想把"销售额"改成含税口径。如果你直接改,可能第二天一堆报表数字全变。但如果你先点影响分析,就能看到所有下游报表,提前通知相关的人,或者决定另建一个度量值而不是直接改。这就是沿袭的价值。

五 、报表出问题,顺着语义模型往回查

如果某张报表数字看着不对,或者刷新时间明显晚了,你可以从报表卡片出发,顺着箭头往左查:

报表 → 语义模型 → 数据流 → 数据源

每一段都看刷新时间。语义模型卡片上写着它最后一次刷新是啥时候,数据流卡片上也有。比一比时间戳,很快就能判断问题出在哪个环节。

比如:

  • 语义模型刷新正常,但数据流时间很旧,那问题在上游数据流。
  • 数据流刷新也正常,但报表数字还是不对,那可能是语义模型里的 DAX 逻辑、关系或者权限出了问题。
  • 语义模型刷新失败,那就得看它依赖的数据源或网关是不是有问题。

这种"看刷新时间 + 顺链路排查"的法子,比一个个打开工件翻设置快多了。

六 、内置沿袭的边界

内置沿袭视图好用,但也不是万能的,有两个边界你得知道。

第一,它是以工作区为边界的 。 虽然能显示跨工作区的来源,卡片上会写源工作区名字,点进去就能跳,但它不会自动把整个租户的沿袭聚合到一张图里。想要租户级别的完整视图,得靠 Microsoft Purview 集成。

第二,内置沿袭是工件级别的,不是列级别的 。 它告诉你"这个语义模型被哪些报表用了",但不会告诉你"这个模型里的某个具体字段或者度量值被哪些图表引用了"。列级沿袭在 Power BI 自带功能里还没有,得靠第三方工具来补。

七 、小结

把语义模型当成沿袭图的中心节点,事情就清楚了:

  • 往前看:语义模型依赖哪些数据源、哪些数据流。
  • 往后看:语义模型被哪些报表、哪些仪表板用着。
  • 改之前:点影响分析,看看会波及谁。
  • 出问题:从报表往左追,对比各级刷新时间,定位是语义模型、数据流还是数据源的问题。

数据沿袭这件事,说到底不是为了画一张好看的图,而是为了解决两个很实际的问题:改东西之前知道会波及谁,出问题之后知道该找谁。没有它,Power BI的治理几乎无从谈起。

相关推荐
l1t1 小时前
DeepSeek总结的 DuckDB 2.0 中更简洁的变量语法
数据库·sql
sunshine8852 小时前
集成电路(IC)设计与封测行业10大常用ERP系统分析
大数据·数据库·人工智能
fen_fen2 小时前
Jmeter5.1.1连接oracle数据库的错误复盘
数据库·jmeter·oracle
imDwAaY3 小时前
MySQL 存储引擎是什么?
android·数据库·mysql
星云低代码开发平台3 小时前
ERP 与 CRM 客户信用核对:业务键、时点和权限验收
大数据·数据库·人工智能
xiaogai_gai3 小时前
销售出库单同步实战:旺店通→金蝶云星空的单一策略深度拆解
大数据·前端·数据库
下页、再停留3 小时前
【C#桌面客户端系列学习-11】将SQLite数据库打包到exe里
数据库·c#·visual studio
下页、再停留3 小时前
【C#桌面客户端系列学习-12】封装SQLite数据库基础操作工具类(CURD)
数据库·c#·visual studio
LYmatch3 小时前
2024年408真题第41~47题汇总解析
数据库