RELATED函数 RELATEDTABLE函数
这两个函数属于“筛选”类函数,通常情况下适用于跨表计算。
用途:根据模型关系,匹配对应数值。
RELATED会根据模型关系将维度表的数据匹配到事实表,也就是多端找一端对应值;
RELATEDTABLE是RELATED的表函数模式,通常是将事实表的数据匹配到维度表,即一端寻找多端的对应值。
语法
语法1:
代码语言:txt复制DAX=
RELATED(<列)
语法2:
代码语言:txt复制DAX=
RELATEDTABLE(<表>)
参数
列:现有列,不能是表达式。
表:现有表,不能是表达式。
返回结果
RELATED返回结果为当前行所对应的匹配值;
RELATEDTABLE返回结果为整张表。
例子
模拟数据:
模型关系:
这是白茶随机模拟的一组数据,一份事实表,一份维度表;模型关系是很常见的一对多关系。
例子1:
代码语言:txt复制RELATED例子1 =
RELATED ( '维度'[组别] )
结果:
为每一组数据,添加维度表中所对应的组别信息。
例子2:
代码语言:txt复制RELATEDTABLE错误示范 =
RELATEDTABLE ( '例子' )
结果:
这是白茶列举的一个错误示范,因为本身RELATEDTABLE函数属于表函数,结果返回一张表,因此不能直接添加到计算列当中。
那么,我们要想在计算列中使用,该怎么处理呢?聚合就OK了!
例子3:
代码语言:txt复制RELATEDTABLE正确示范 =
COUNTROWS ( RELATEDTABLE ( '例子' ) )
结果:
统计维度表中的数据在事实表中的行数,也就是实际业务中我们经常说的订单数。
例子4:
代码语言:txt复制销售金额 =
SUMX ( '例子', '例子'[销售数量] * RELATED ( '维度'[售价] ) )
结果:
在当前事实表上下文中,通过跨表计算每类颜色的销售金额。
严格意义来说,RELATED系列函数本质也是迭代行上下文进行取值,只不过是顺着模型关系进行迭代,匹配取值。
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球PowerBI丨需求圈)
这里是白茶,一个PowerBI的初学者。