NATURALINNERJOIN函数

如果说,INTERSECT这个函数是取交集的话,那么本期的函数就是其补充的部分。

NATURALINNERJOIN这个函数可以通过内部联接,返回两个表共有列的重合部分,也就是交集,但是不同之处在于会将两个表中的其他列也添加到新的表中。

微软将其划分到”表函数“中。

用途:

1、用来查找两个表交集的全部数据;

2、可用于购物篮分析,即购买A且购买B的客户。

语法

DAX=NATURALINNERJOIN(<左表>, <右表>)

参数

左右表:可以是表的表达式,也可以是物理表。

返回结果

左右表共有列的重合部分,以及其他列组成的新表。

注意

1、@高飞老师在论坛上曾说,这个函数的使用分为有模型关系和无模型关系两种情况。

无关系的情况下,两个表的共有列需要同样的列名;

有关系的情况下,两个表的共有列的列名不能重复。

2、白茶在使用中发现,PowerBI仅支持有关系,列名不重复的情况。

可能是白茶没找到这个函数打开的正确方式,如果有小伙伴知道请联系白茶,谢谢。

3、此函数对于数据格式要求很严格,格式必须统一,例如”1“和”1.00“这种会因为格式导致无法匹配。

例子

模拟数据:

这是白茶随机模拟的数据,可以看到表A和表C有很明显的格式区别。

导入到PowerBI中,建立模型关系如下:

例子1:

例子1 =
NATURALINNERJOIN ( 'A表', 'B表' )

结果如下:

返回两个表重合的列以及其他列组成的新表。

例子2:

例子2 =
NATURALINNERJOIN ( 'A表', 'C表' )

结果如下:

因为数据格式问题,导致两个表的数据无法匹配,返回空表。

案例传送门:

《购物篮应用实例》

小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。