在 Power Query 的 合併 對話框中,有一種連接類型是 完全外連接,會將左右兩側資料表的所有資料列都匯入。 更多資訊: 合併營運概述
截圖顯示左側的表格,包含日期、CountryID 和單位欄位。 強調的 CountryID 資料行包含資料列 1 和資料列中的值 2、資料列 3 中的值 3,以及資料列 4 中的 2。 右側表格包含 ID 與國家欄位。 強調的 ID 欄包含第一列的 1(代表美國)、第二列的 2(代表加拿大)、第三列的 3(代表巴拿馬)以及第四列的 4(代表西班牙)。 前兩個資料表下方的資料表包含 Date、CountryID、Units 和 Country 資料行。 所有列依據 CountryID 值依數字順序重新排列。 與 CountryID 號碼相關的國家會顯示在「國家」欄位中。 由於左側表格中沒有西班牙的國家識別碼,因此新增一列,該列的日期、國家識別碼和單位值都設為空值。
本文使用範例資料來示範如何通過完全外部聯結進行合併操作。 此範例的範例來源資料表如下:
銷售額:此表格包含 欄位 Date、 CountryID 和 Units。 CountryID 是整數值,代表 Countries 資料表中的唯一識別碼。
國家:此表為參考表,欄位為 ID 與 Country。 ID 欄位代表每筆紀錄的唯一識別碼。
在此範例中,您會合併這兩個資料表,其中 Sales 資料表作為左資料表,而 Countries 資料表作為右資料表。 聯結是在下列資料行之間進行。
| Sales 資料表中的欄位 | 國家/地區資料表中的欄位 |
|---|---|
| 國家識別碼 | ID |
目標是建立一個像以下這樣的表格,讓國家名稱在銷售資料表中以新的國家欄位出現。 由於完整外部連接的運作方式,不論左右兩個表格中的所有列是否僅出現在其中一個表中,它們都會被包含在內。
這是最終完整外部連接表的截圖,包含日期、CountryID 和從銷售表衍生的單位數,以及從國家表衍生的國家欄位。 新增第五列以包含西班牙資料,但該列在日期、國家ID和單位欄位中為空,因為這些數值在銷售表中不存在。
要執行全外部聯接:
- 選取 [銷售] 查詢,然後選取 [合併查詢]。
- 在 [合併] 對話方塊的 [合併的右資料表] 底下,選取 [國家/地區]。
- 在 [銷售] 資料表中,選取 [國家/地區識別碼 ] 資料行。
- 在 [國家/地區 ] 資料表中,選取 [ID ] 資料行。
- 在 「加入類型 」區塊中,選擇 「完整外層」。
- 選擇 確定
備註
你可以通過先按住 Ctrl 鍵,然後選取多個欄位來進行合併。
小提示
請仔細查看對話框底部的訊息:「選取符合兩個表格中5列的4列。」這個訊息對於理解你從這項操作中獲得的結果至關重要。
在國家表中,西班牙國家的 ID 為 4,但在銷售表中沒有 CountryID 4 的紀錄。 因此,從右邊表格的四行中,只有三行找到匹配。 右邊表格中所有沒有與左側表格相符欄位的列會被分組,並在輸出表格中顯示在新的一列中,左側表格的欄位則沒有值。
合併操作後,從新建立的 國家 欄位中展開 國家 欄位。 請勿選取 [ 使用原始資料行名稱作為前置詞 ] 核取方塊。
完成此操作後,你會建立一個看起來像下圖的表格。
完整外接最終表的截圖,包含日期、CountryID 和從銷售表衍生的單位,以及由國家表衍生的國家欄位。 新增第五列以包含西班牙資料,但該列在日期、國家ID和單位欄位中為空,因為這些數值在銷售表中不存在。