NATURALINNERJOIN函数
如果说,INTERSECT这个函数是取交集的话,那么本期的函数就是其补充的部分。
NATURALINNERJOIN这个函数可以通过内部联接,返回两个表共有列的重合部分,也就是交集,但是不同之处在于会将两个表中的其他列也添加到新的表中。
微软将其划分到”表函数“中。
用途:
1、用来查找两个表交集的全部数据;
2、可用于购物篮分析,即购买A且购买B的客户。
语法
代码语言:txt复制DAX=NATURALINNERJOIN(<左表>, <右表>)
参数
左右表:可以是表的表达式,也可以是物理表。
返回结果
左右表共有列的重合部分,以及其他列组成的新表。
注意
1、@高飞老师在论坛上曾说,这个函数的使用分为有模型关系和无模型关系两种情况。
无关系的情况下,两个表的共有列需要同样的列名;
有关系的情况下,两个表的共有列的列名不能重复。
2、白茶在使用中发现,PowerBI仅支持有关系,列名不重复的情况。
可能是白茶没找到这个函数打开的正确方式,如果有小伙伴知道请联系白茶,谢谢。
3、此函数对于数据格式要求很严格,格式必须统一,例如”1“和”1.00“这种会因为格式导致无法匹配。
例子
模拟数据:
这是白茶随机模拟的数据,可以看到表A和表C有很明显的格式区别。
导入到PowerBI中,建立模型关系如下:
例子1:
代码语言:txt复制例子1 =
NATURALINNERJOIN ( 'A表', 'B表' )
结果如下:
返回两个表重合的列以及其他列组成的新表。
例子2:
代码语言:txt复制例子2 =
NATURALINNERJOIN ( 'A表', 'C表' )
结果如下:
因为数据格式问题,导致两个表的数据无法匹配,返回空表。
案例传送门:
《购物篮应用实例》
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球PowerBI丨需求圈)
这里是白茶,一个PowerBI的初学者。