共用方式為


全外部聯接

在 Power Query 的 合併 對話框中,有一種連接類型是 完全外連接,會將左右兩側資料表的所有資料列都匯入。 更多資訊: 合併營運概述

全外部聯接範例。

截圖顯示左側的表格,包含日期、CountryID 和單位欄位。 強調的 CountryID 資料行包含資料列 1 和資料列中的值 2、資料列 3 中的值 3,以及資料列 4 中的 2。 右側表格包含 ID 與國家欄位。 強調的 ID 欄包含第一列的 1(代表美國)、第二列的 2(代表加拿大)、第三列的 3(代表巴拿馬)以及第四列的 4(代表西班牙)。 前兩個資料表下方的資料表包含 Date、CountryID、Units 和 Country 資料行。 所有列依據 CountryID 值依數字順序重新排列。 與 CountryID 號碼相關的國家會顯示在「國家」欄位中。 由於左側表格中沒有西班牙的國家識別碼,因此新增一列,該列的日期、國家識別碼和單位值都設為空值。

本文使用範例資料來示範如何通過完全外部聯結進行合併操作。 此範例的範例來源資料表如下:

  • 銷售額:此表格包含 欄位 DateCountryIDUnitsCountryID 是整數值,代表 Countries 資料表中的唯一識別碼。

    銷售表的截圖,包含日期、CountryID 和單位欄位,CountryID 在第 1 和第 2 列設為 1,第 3 列為 3,第 4 列為 2。

  • 國家:此表為參考表,欄位為 IDCountryID 欄位代表每筆紀錄的唯一識別碼。

    Countries 表格的截圖,包含 ID 和 Country 欄位,第 1 列的 ID 設為 1,第 2 列為 2,第 3 列為 3,第 4 列為 4。

在此範例中,您會合併這兩個資料表,其中 Sales 資料表作為左資料表,而 Countries 資料表作為右資料表。 聯結是在下列資料行之間進行。

Sales 資料表中的欄位 國家/地區資料表中的欄位
國家識別碼 ID

目標是建立一個像以下這樣的表格,讓國家名稱在銷售資料表中以新的國家欄位出現。 由於完整外部連接的運作方式,不論左右兩個表格中的所有列是否僅出現在其中一個表中,它們都會被包含在內。

全外部連接操作的最終表格。

這是最終完整外部連接表的截圖,包含日期、CountryID 和從銷售表衍生的單位數,以及從國家表衍生的國家欄位。 新增第五列以包含西班牙資料,但該列在日期、國家ID和單位欄位中為空,因為這些數值在銷售表中不存在。

要執行全外部聯接:

  1. 選取 [銷售] 查詢,然後選取 [合併查詢]。
  2. [合併] 對話方塊的 [合併的右資料表] 底下,選取 [國家/地區]。
  3. [銷售] 資料表中,選取 [國家/地區識別碼 ] 資料行。
  4. [國家/地區 ] 資料表中,選取 [ID ] 資料行。
  5. 「加入類型 」區塊中,選擇 「完整外層」。
  6. 選擇 確定

合併對話框顯示遵循先前完整外部連接程序的結果。

備註

你可以通過先按住 Ctrl 鍵,然後選取多個欄位來進行合併。

小提示

請仔細查看對話框底部的訊息:「選取符合兩個表格中5列的4列。」這個訊息對於理解你從這項操作中獲得的結果至關重要。

國家表中,西班牙國家的 ID 4,但在銷售表中沒有 CountryID 4 的紀錄。 因此,從右邊表格的四行中,只有三行找到匹配。 右邊表格中所有沒有與左側表格相符欄位的列會被分組,並在輸出表格中顯示在新的一列中,左側表格的欄位則沒有值。

截圖顯示左邊表格中西班牙的完全外部連接沒有相符的列,因此西班牙的日期、CountryID 和單位數值都設為空值。

合併操作後,從新建立的 國家 欄位中展開 國家 欄位。 請勿選取 [ 使用原始資料行名稱作為前置詞 ] 核取方塊。

選取國家欄位時,展開表格選項的截圖。

完成此操作後,你會建立一個看起來像下圖的表格。

全外連接最終表格。

完整外接最終表的截圖,包含日期、CountryID 和從銷售表衍生的單位,以及由國家表衍生的國家欄位。 新增第五列以包含西班牙資料,但該列在日期、國家ID和單位欄位中為空,因為這些數值在銷售表中不存在。