函数周期表丨筛选丨值&表丨RELATED系列

2021-08-30 10:25:39 浏览数 (1)

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的初学者。

0 人点赞