合併查詢概觀
合併查詢作業會根據一或多個數據行中的相符值,將兩個現有數據表聯結在一起。 您可以選擇使用不同類型的聯結,視您想要的輸出而定。
合併查詢
您可以在 [常用] 索引標籤的 [合併] 群組中找到 [合併查詢] 命令。 從下拉功能表中,有兩個選項:
- 合併查詢:顯示 [合併 ] 對話框,並將選取的查詢顯示為合併作業的左數據表。
- 將查詢合併為新的:顯示 [合併 ] 對話框,而沒有任何預先選取的合併作業數據表。
識別要合併的數據表
合併作業需要兩個資料表:
- 合併的左表格:第一個選取範圍,從畫面的頂端到底部。
- 合併的右表格:第二個選取範圍,從畫面的頂端到底部。
注意
當您選取要使用的正確聯結種類時,數據表的左右位置會變得非常重要。
選取數據行組
選取左右數據表之後,您可以選取驅動數據表之間聯結的數據行。 在下列範例中,有兩個數據表:
- Sales:CountryID 字段是 Country 數據表中的索引鍵或標識符。
- 國家/地區:下表包含 CountryID 和國家/地區的名稱。
[合併] 對話框的螢幕快照,其中 [合併] 的左側數據表已設定為 [Sales] 和 [CountryID] 數據行,而 [合併的右] 數據表則設定為 [國家/地區] 和 [CountryID] 數據行。
目標是使用這兩個數據表中的 CountryID 數據行來聯結這些數據表,因此您會從每個數據表中選取 CountryID 數據行。 選取項目之後,會出現一則訊息,其中包含對話方塊底部的估計相符項目數目。
注意
雖然此範例顯示這兩個數據表的相同數據行標頭,但這並非合併作業的需求。 數據行標頭不需要在數據表之間比對。 不過,請務必注意數據行必須是相同的數據類型,否則合併作業可能不會產生正確的結果。
您也可以選取多個數據行來執行聯結,方法是選取 Ctrl 來選取數據行。 當您這樣做時,從 1 開始,選取資料行的順序會以小數字顯示於數據行標題旁邊。
在此範例中,您有 Sales 和 Countries 數據表。 每個數據表都有 CountryID 和 StateID 數據行,您必須為這兩個數據行之間的聯結配對。
首先選取 Sales 數據表中的 CountryID 數據行,選取 Ctrl,然後選取 StateID 數據行。 (此動作會顯示資料列標題中的小數位。接下來,在 [國家/地區] 數據表中執行相同的選取專案。
合併對話框的螢幕快照,其中 [合併] 的左側數據表已設定為 Sales,並已選取 CountryID 和 StateID 數據行,並選取 [國家/地區] 和 [國家/地區] 資料行的 [右] 數據表。 Join 種類設定為左外部。
注意
選取聯結的多個資料行時,您選取每個資料表中數據行的順序必須相符。 例如,左數據表中選取的第一個數據行會與右表中選取的第一個數據行相符,依此比對。 否則,您將會看到不正確的聯結結果。
使用數據行配對建議
在 [合併] 對話框中選取左右數據表時,您可以檢查對話框右上角的燈泡圖示,以查看這兩個數據表之間的數據行配對對應是否有任何建議。
有許多建議存在,但在此案例中,只有一項功能的建議,其中會將 Sales 數據表的 CountryID 數據行對應至 CountryID 數據行的 CountryID 數據行。 您可以選取它,且數據行配對對應會自動套用至您的對話方塊。
注意
僅建議使用數據行配對對應。 此對話框中的其他選項,例如聯結種類或模糊比對組態,都不符合此建議的範圍。
展開或匯總新的合併數據表數據行
在 [合併] 對話框中選取 [確定] 之後,查詢的基表會包含左數據表中的所有數據行。 此外,也會以與右數據表相同的名稱加入新的數據行。 此數據行會以逐列方式保存對應至右數據表的值。
從這裡,您可以選擇從這個新的數據表數據行展開或匯總欄位,也就是右數據表中的欄位。
注意
目前,Power Query Online 體驗只會在其介面中提供擴充作業。 今年晚些時候將新增匯總選項。
聯結類型
聯結種類會指定合併作業的執行方式。 下表描述 Power Query 中可用的聯結類型。
聯結種類 | Icon | 描述 |
---|---|---|
左外部 | 來自左數據表的所有數據列,比對右數據表的數據列 | |
右外側 | 來自右數據表的所有數據列,符合左數據表的數據列 | |
完整外部 | 這兩個數據表的所有數據列 | |
內 | 只比對來自這兩個數據表的數據列 | |
左反 | 僅來自左數據表的數據列 | |
右反 | 只有來自右數據表的數據列 |
模糊比對
在比較數據行時,您可以使用模糊合併來套用模糊比對演算法,以嘗試在合併的數據表中尋找相符專案。 您可以選取 [合併] 對話框中的 [使用模糊比對來執行合併] 複選框,以啟用此功能。 展開 [模糊比對選項 ] 以檢視所有可用的組態。
注意
只有文字數據行的合併作業才支援模糊比對。 如需詳細資訊,請移至 模糊比對如何在Power Query中運作。