模糊匹配,PowerBI的这个功能太实⽤了
最近有⼏个星友问到,如何进⾏数据的模糊匹配?本⽂就利⽤⼀个简单的例⼦,来看
看PowerBI是如何快速完成模糊匹配的。
模拟数据如下,有两个表,分别是各省市2018和2019年的数据,
这是个很常见的场景,由于某种原因,两个年度的省份名称规则不⼀致,2019年全
称,⽽2018年是简称。
把两年的数据合并到⼀起,本来⽤Excel的VLOOKUP函数就可以轻松做到的事情,因
为省份名称不⼀致⽽增加了不少难度。
这个问题⽤Excel公式或者M函数也能到解决⽅案,这⾥分享个更简单的⽅法,直接
使⽤Power Query的模糊匹配功能。
将这两个表格导⼊到PowerBI中,进⼊Power Query编辑器,点击合并查询,以省份为
关联列,如下图所⽰。
联结种类选择为左外部,最重要的是在联结种类下⾯,勾选“使⽤模糊匹配执⾏合并”。
点击确定,并展开合并列,看看是什么效果。
竟然都是空值!
就是没有匹配成功,是不是这个模糊合并功能不好⽤呢?
当然不是。
在上⾯勾选模糊匹配时,你应该能注意到,下⾯还有个模糊匹配选项,打开后发现还
有这些参数可以设置:
这些参数都是可选的,但是为了匹配的效果,还应该了解这些参数的⽤法。
其中第⼀项相似性阈值,就是相似度达到多少时匹配,默认是0.8,但是上⾯的数据,
相似度最⾼才0.67(⽐如"北京"和"北京市"),所以默认匹配时全部没有匹配成功。
⽽"新疆"和"新疆维吾尔⾃治区"的相似度更低,只有0.25,所以为了都能匹配成功,我
们把这个阈值调到0.25,然后看看匹配的效果。
正式期望的结果,是不是很简单。
所以匹配之前,还要先了解你的原始数据,预估相似的⽐例,调整阈值,才能更好的
完成模糊匹配。
第⼆个可选参数是最⼤匹配数,如果不填,会把所有匹配⾏出来,如果另⼀个表不
⽌有⼀⾏,可以根据需要,想匹配出来⼏⾏就填写数字⼏。
最后⼀个参数是选择转换表。可以通过查询中的另外⼀个表作为转换表进⾏匹配,在
转换表中,可以提前定义好,不规范值和规范值的对应关系,相当于同义词表,特定
场景下⾮常有⽤。
关于模糊匹配就简单介绍到这⾥,后⾯两个参数的使⽤,有需要时可以⾃⾏测试效
果。
最后要说的是,不要因为有模糊匹配功能,就可以对源数据不加约束,依然应该尽量
规范你的数据源,能保持⼀致最好。
模糊匹配⼀⽅⾯是计算量特别⼤,另外既然是模糊查,就很可能会有误差,当数据
量⽐较⼤时,这种数据误差还很难被识别出来。vlookup模糊匹配
这⾥⽤到的功能,来⾃PowerBI Desktop中的PowerQuery模块,Excel⾥⾯的PowerQuery暂时还没有更新到这个功能。
所以,建议⼤家在合适的情况下,尽量养成⽤PowerBI Desktop进⾏数据处理的习惯,⽽不是Excel;PowerBI Desktop完全免费,功能齐全,为什么不⽤呢?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论