PowerBi中RELATEDTABLE和RELATED有什么不同?

RELATED()RELATEDTABLE() 都是 DAX 中用来进行表之间的关系导航(relationship navigation)的函数,但它们的方向、作用对象和使用方式完全不同。下面我们来详细对比和解释一下:


✅ 一、RELATED 和 RELATEDTABLE 的基本区别

特性 RELATED() RELATEDTABLE()
返回值类型 单个值(Scalar) 一张表(Table)
用途 获取主表(one)中的字段值 获取从表(many)中的所有相关行
应用场景 用在"多对一"关系的"多端" 用在"多对一"关系的"一端"
举例 订单表中查商品表的"商品名称" 商品表中查对应商品的"所有订单"

🧠 二、图解理解

假设有两张表:

1. 商品表(Products)

商品ID 商品名称 成本
1 可乐 3
2 薯片 2

2. 销售表(Sales)

销售ID 商品ID 销售金额
101 1 5
102 1 5
103 2 4

✅ RELATED() 示例(从"销售表"中取"商品名称"):

DAX 复制代码
商品名称 = RELATED(Products[商品名称])
  • 你在 Sales 表里加这个列,就可以通过"商品ID"的关系,找到对应的商品名称。
  • 是从"多端查一端"。

✅ RELATEDTABLE() 示例(从"商品表"中找"所有对应的订单"):

DAX 复制代码
订单数量 = COUNTROWS(RELATEDTABLE(Sales))
  • 你在 Products 表中写这个公式,可以查到每个商品卖出了几单。
  • 是从"一端查多端"。

1. 表之间必须有"有效的关系"

无论用哪个函数,两个表之间都必须在模型中有建立关系,否则会报错。

2. 要注意函数使用的"方向"

  • RELATED()从多端 → 一端
  • RELATEDTABLE()从一端 → 多端

如果方向错了,Power BI 会提示你不能使用。

3. 在度量值中常搭配 CALCULATE 使用

特别是 RELATEDTABLE(),常用于配合 CALCULATE() 聚合子表数据。


🚀 四、组合用法示例

商品表 中,计算每个商品的总销售额:

DAX 复制代码
总销售额 =
CALCULATE(
    SUM(Sales[销售金额]),
    RELATEDTABLE(Sales)
)

✅ 总结

对比点 RELATED() RELATEDTABLE()
返回类型 单个值(scalar) 一张表(table)
用法方向 从"多端"查"主表" 从"主表"查"多端"
使用场景 销售表中查商品表字段 商品表中聚合相关订单数据
常用搭配 新建列、计算字段 CALCULATE + 聚合函数(如 SUM, COUNTROWS
相关推荐
计算机源码社38 分钟前
【大数据项目实战】基于大数据的影视内容生态综合质量分析与可视化-基于数据挖掘的影视内容类型共现与口碑聚类分析系统
大数据·人工智能·python·数据挖掘·数据分析·毕业设计·课程设计
Mr数据杨3 小时前
议会事务多标签文本分类实战 从 Open Data St Gallen 看推荐排序建模
人工智能·数据分析·kaggle竞赛
2601_962780695 小时前
2026 秋招数据产品分析岗位技能拆解
数据分析
hqyjzsb7 小时前
Python 技术人转型 AI:CAIE Level I、Level II 对比怎么选
开发语言·人工智能·python·金融·数据挖掘·数据分析·aigc
SelectDB9 小时前
Apache Doris 高并发点查与实时写入笔记:一套引擎统一实时数仓与在线服务
大数据·数据库·数据分析
SelectDB9 小时前
Apache Doris 存算分离实操:从对象存储接入到多计算集群配置(附 SQL)
大数据·数据库·数据分析
SelectDB9 小时前
Apache Doris 多表 Join 优化实战:从 CBO 到 Colocate Join 配置(附 SQL)
大数据·数据库·数据分析
2601_9622982710 小时前
交易开拓者什么语言?编程语言如何提升交易自动化?
数据分析·编程语言·期货交易·自动化交易·交易开拓者
武哥聊编程11 小时前
【AI实战项目】AI Agent数据分析平台,基于SpringAI+Springboot+Vue+Agent的电商数据分析平台
人工智能·spring boot·数据分析·springai
Mr数据杨12 小时前
从下一商品推荐到实战建模 WB推荐系统竞赛案例拆解
人工智能·数据分析·kaggle竞赛