Power Query中的VLOOKUP - 合併查詢
VLOOKUP是EXCEL函數里的大眾情人,但是大家對TA是既愛又恨:簡單方便,但是一旦資料量上升到數十萬量級就開始耍小脾氣了,時不時就會出現未響應,接下來我們來扒一扒Vlookup的替代方案。
在PowerPivot中我們可以建立兩個表之間的關係,透過DAX中Related解決,但是雖然能夠得到資料,卻不能匯出到EXCEL中,眼看得到了解決,卻還是拿不到結果,那麼我們該怎麼得到結果呢?
這時,我們可以思考一個問題,我們想要的是另一表中匹配列,Vlookup就是透過查詢與此相對應的資料得到匹配列,那麼我們可以聯想下查詢中的哪些功能可以使用。突然想到Excel Power Query教程中有一節是關於生成笛卡爾積表,利用的是合併查詢的功能。那麼合併查詢是否也能夠解決現在的問題呢?
我們來試一試就知道了?,圖1是兩個表,一個是人員資訊表,一個是匹配表。
我們將這兩個表匯入到查詢中:
想要在人員資訊表中增加入職日期資訊,那麼要先選中人員資訊表,然後再選擇匹配表,將兩個表中的ID列分別選中,如下圖
點選確定,得到以下結果
可以看到增加了一個新列,展開選擇擴充套件入職日期:
確定之後選擇關閉並上載,就可以得到結果了,是不是又快又簡單,而且如果有資料更改一鍵重新整理就可以了,再也不用擔心資料出錯了,再也不用擔心Vlookup的小脾氣咯!!!
問題得到解決了,可是上面的步驟中應該還有一個小疑問,我們在圖2中可以看到有聯接種類的選項,展開可以看到如下
總共有6個選項,那麼TA們有什麼區別呢?
我們用一個簡單的例子來說明一下:
如果選擇左外部:
如果選擇右外部:
如果選擇完全外部:
如果選擇內部:
如果選擇左反:
如果選擇右反:
總結:
左外部——保留表1 的所有專案,同時查詢表2 和表1 的匹配項,排除表2 的不匹配項;
右外部——保留表2 的所有專案,同時查詢表1 和表2 的匹配項,排除表1 的不匹配項;
完全外部——保留表1和表2 的所有專案;
內部——僅保留表1 和表2 的完全匹配項,排除其他專案;
左反——保留表1與表2 有差異的全部資料,排除表1 和表2 的匹配項;
右反——保留表2與表1有差異的全部資料,排除表2和表1 的匹配項。
好了,今天說了那麼多,不知道你是聽明白了,還是聽糊塗了呢?
*PowerPivot工坊原創文章,轉載請註明出處!
————————————————————————————————————————————————
Power Query M函式進階課程,
即將上線,
敬請期待!
————————————————————————————————————————————————
延伸閱讀:
Power Query資料處理躲坑系列一
Power Query資料處理躲坑系列二
在Power Query中進行關鍵詞匹配查詢
當Power BI遇上英雄聯盟
當PowerBI遇上恐怖主義
亮瞎雙眼的PowerBI視覺化圖表
一張圖看懂微軟Power BI系列元件
一張圖看懂Power BI 架構
當Power BI 遇上洪災
當Power BI 遇上歐冠決賽
當Power BI遇上條形碼
當Power BI遇上Visio
————————————————————————————————————————————————
如果您想深入學習微軟Power BI,歡迎登入網易雲課堂試聽學習我們的“從Excel到Power BI資料分析視覺化”系列課程。或者關注我們的公眾號(PowerPivot工坊)後猛戳”線上學習”