之前都没有提供演示数据文档,后面发现还是还需求,以后每一篇的演示数据下载链接都会放在后面的评论区里面,有需求的可以自行下载。
今天介绍RELATED系列的两个函数RELATED和RELATEDTABLE,这两个函数中RELATED函数更常使用,之前在SUMX系列中有一点涉及,但没有具体介绍其用法。下面就来详细介绍一下这两个函数的使用方法。
先介绍RELATED函数,使用RELATED函数的前提是表之间必须建立物理关系。然后它的语法格式也是相当的简单,就一个参数,需要使用的关联表的某一列,语法如下↓
RELATED(<column>)
下面是我们演示数据的表格和关系,已经使用了很多次了,一个销售数据表,一个产品维度表和一个日期维度表。关系如下↓

第一个功能和Excel里面Vlookup一样,也和上一篇讲的lookupvalue函数类似。但因为我们在表之间建立了关联关系,所以只需要一个参数就可以完成字段的匹配。我们这里在销售数据里面把产品品牌匹配过来,DAX语句和结果如下↓
产品品牌 = RELATED('产品表'[品牌])
很简单就匹配到了产品品牌数据,但这只是为了直观看到这个函数的作用演示的,实际中一般把RELATED函数作为度量值的一部分使用,就行计算筛选时使用。比如我们需要计算酒类产品的销售数据,我们可以写个度量值,SUMX([总金额],产品品牌="福佳"||产品品牌="科罗娜"||...),这样如果品牌很多,写起来和看起来都非常的麻烦。因为我们产品维度表里面已经有品类这个字段了,所只需要使用RELATED函数关联过来,然后再筛选就行了,DAX语句如下↓
酒类金额(万) =
SUMX(
FILTER('销售数据',RELATED('产品表'[品类])="酒类"),
'销售数据'[总金额]/10000
)

上面这个应该是RELATED函数更适用的场景。下面再讲一下RELATEDTABLE函数的使用方法,语法格式如下,还是很简单,就一个参数,只是这个参数是一个表↓
RELATEDTABLE(<tableName>)
但这个函数还不能直接使用,需要结合统计函数才能使用,比如在产品维度表里面,结算每个品牌的销售金额,DAX语句如下↓
销售金额(万) =
SUMX(
RELATEDTABLE('销售数据'),'销售数据'[总金额]/10000)

但这个函数到底有什么实际的作用,我还没有看到和想到,希望后面能够遇到,不然创造这个函数就没什么意义了。
End