2017-08-17 162 views
0

我有一个每日CSV文件,其中包含从呼叫中心收到的大量地址列表(约5000 /天) ,其中一些地址包含城市周边地区的名称,通常在前5个字中。 在另一张表中,我有一列中的所有街区的确切名称,并且在同一行的另一列中,我有在该街区提供送货服务的信使名称。DAX将从power查询导入的列与另一个表的Column进行比较,并返回同一行的结果

我正在寻找一种方法,以电源为中心来搜索[地址]栏的每一行,如果找到一个与邻居姓名相似的值给我提供该邻居的信使名称。

This an example for my data sets, the fist sheet describes 5 sample of my daily data, and the second sheet is districts information and their courier ID

+3

你能否提供你想要的结果是什么样的数据和例子? [如何创建一个最小,完整和可验证的示例](https://stackoverflow.com/help/mcve) – Joe

+0

你好,我编辑我的请求与我的示例数据的链接 –

回答

0

免责声明 - 该方法类似的话不处理,只有完全匹配。

我发现的最简单的方法是制作一个计算表。在建模选项卡上,单击新建表并输入此公式。

Results = SELECTCOLUMNS(
    FILTER(CROSSJOIN(Addresses, Couriers), SEARCH(Couriers[District], Addresses[Address], , -1) > 0), 
    "Address", Addresses[Address], 
    "CourierID", Couriers[Courier ID] 
) 

这个十字会加入你的两个表格,然后将结果过滤到只能在地址中找到Couriers表格的区域。正如我在免责声明中所说的,这只是寻找完全匹配。

Results table

然后得到那个回地址表,用这个公式添加新列。这将查找我们刚刚制作的表中的地址并返回Courier ID。

CourierID = LOOKUPVALUE(
    Results[CourierID], 
    Results[Address], 
    Addresses[Address] 
) 

Results

我们需要做这两个步骤的原因是因为LOOKUPVALUE功能不能拿表达式。

相关问题