PowerQuery查找匹配值的两种方法简要比较

在这篇帖子中,作者列出了三种在Power BI中查询匹配值的方法,分别是利用关系、DAX和PowerQuery代码。

在PowerQuery代码部分,作者比较了两种方法,一种是通过合并查询来实现查找匹配值,另一种是建立一个函数来实现查找匹配值。前者的好处是直观并能解决大部分问题,缺点是万一查询表格有重复值则会导致错误,后者无疑是一种不那么直观但是比较完美的解决方式。

但是我自己测试后发现:
1.用合并查询方式,即使两个表格都有重复值,也不会出错
2.用合并查询时因为可以将匹配字段相关的其他值全部列出,反而更容易让我判断哪些值是不需要的。如果采取作者提供的建立函数来查询相关值的话,反而不利于我检查是否完全匹配。

举例:
我建立了两个表,表1是主表,我需要从表2获取对应的人员的年龄和所在城市,如下图:

PowerQuery查找匹配值的两种方法简要比较_第1张图片
表1.png

PowerQuery查找匹配值的两种方法简要比较_第2张图片
表2.png

可以看到两个表都有重复值。
分别为两个表建立两个查询,然后以“姓名”作为关键字,合并两个查询,返回城市,得到的结果如图:

PowerQuery查找匹配值的两种方法简要比较_第3张图片
表3.png

可以看到,并没出错,并且我可以很轻松筛选出北京的王八蛋,丢弃昆明的王八蛋。

如果采用作者所示例的fnLookup函数来处理同样的数据,结果如下:

PowerQuery查找匹配值的两种方法简要比较_第4张图片
表4.png

可以发现,北京的王八蛋不见了,但是我本想保留北京的王八蛋的。

你可能感兴趣的:(PowerQuery查找匹配值的两种方法简要比较)