2017-08-17 166 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功能不能拿表達式。

相關問題