之前在《使用Power Query进行模糊匹配》一文中我们讨论了如何在Power Query中进行模糊匹配,今天我们来讨论下在Power Pivot中的模糊匹配。
还是之前的案例,图1为产品表,图2为颜色价格匹配表,需要根据颜色将颜色价格表中的价格匹配到产品表中,因为产品表中没有能与匹配表中的【颜色】字段直接匹配的列,所以我们需要用【产品】字段中的颜色进行模糊匹配。
我们先将两张表加载进Power BI中,分别命名为“产品”和“颜色价格”。
我们的思路是先在产品表中新建列【颜色】,获取到产品表中准确的颜色,然后再根据该字段去和颜色价格表中的颜色做关联,进而获取价格信息。
那么,怎么生成产品表中的【颜色】字段呢?有大神写出了如下公式:
颜色 =
FIRSTNONBLANK(FILTER(VALUES('颜色价格'[颜色]),
SEARCH('颜色价格'[颜色],'产品'[产品],1,0)),1)
现在我们来理解下这个公式。
其中Filter为筛选函数,筛选VALUES(‘颜色价格’[颜色])这张表。而VALUES(‘颜色价格’[颜色])返回的是颜色价格表中非重复的【颜色】列表,即Filter函数筛选的是下表,我们将其命名为颜色表。