2020—11.24
温馨提示:最近温度骤降,这股寒流差点把小编冻感冒了,同学们记得及时添衣~
如图,想要合并这两张表,使用vlookup函数就能轻松搞定。
这样的操作是不是很简单?那如果把省份稍微改一下,还是和原来一样吗?这里我们将19年省份稍微修改,接着要如何实现合并呢?
我们可以发现省市名称不一致,就无法使用vlookup函数,这在一定程度上为合并增加了不少的难度。
即使使用M函数或者Excel公式也能解决,这里分享更简单的方法,就是本文主要内容:Power Query的模糊匹配功能。
将两张表导入PBI中,进入Power Query编辑器,点击合并查询,以省份为关联列,如上图。点击确定并展开合并列,数据却如下图。
居然都是空值!
为什么会出现这样的情况呢?其实在勾选模糊匹配时,可以注意到下面还有一个模糊匹配选项,打开之后还有很多参数可以调整:
首先我们需要了解这些参数的作用。
其中第一项相似性阈值,就是相似度达到多少时匹配。
第二个可选参数是最大匹配数,如果不填,会把所有匹配行找出来,如果另一个表不止有一行,可以根据需要,想匹配出来几行就填写数字几。
最后一个参数是选择转换表。可以通过查询中的另外一个表作为转换表进行匹配,在转换表中,可以提前定义好,不规范值和规范值的对应关系,相当于同义词表,特定场景下非常有用。
第一项中里面默认阈值是0.8,但是上面的数据,相似度最高才0.67(比如"北京"和"北京市"),所以默认匹配时全部没有匹配成功。
而"新疆"和"新疆维吾尔自治区"的相似度更低,只有0.25,所以为了都能匹配成功,我们把这个阈值调到0.25,然后看看匹配的效果。
模糊匹配一方面是计算量特别大,另外既然是模糊查找,就很可能会有误差,当数据量比较大时,这种数据误差还很难被识别出来。
小结
所以匹配之前,要先了解你的原始数据,预估相似的比例,调整阈值,才能更好的完成模糊匹配。只要参数调整好,合并就变得非常简单了,关于模糊匹配就简单介绍到这里,后面两个参数的使用,有需要时可以自行测试效果。