共用方式為


完整外部聯結

Power Query 中 [合併 ] 對話框中可用的其中一種 聯結類型是完整的外部聯結,其會帶入左右數據表中的所有數據列。 詳細資訊: 合併作業概觀

完整外部聯接範例。

顯示具有 Date、CountryID 和 Units 數據行之左數據表的螢幕快照。 強調的 CountryID 資料行包含數據列 1 和 2、第 3 列 3 中的值,以及第 4 列中的 2。 右數據表包含標識碼和國家/地區數據行。 強調的標識符數據行包含數據列 1 中 1 的值(表示美國)、第 2 列 2 中的值(表示加拿大)、第 3 列 3 中的 3 個值(表示巴拿馬),第 4 列為 4(表示西班牙)。 前兩個數據表下方的表格包含 Date、CountryID、Units 和 Country 數據行。 所有數據列都會根據 CountryID 值,以數值順序重新排列。 與 CountryID 號碼相關聯的國家/地區會顯示在 Country 數據行中。 由於西班牙的國家/地區標識碼未包含在左數據表中,因此會加入新的數據列,並將此數據列的日期、國家/地區標識符和單位值設定為 null。

本文使用範例數據來示範如何使用完整外部聯結來執行合併作業。 此範例的範例源資料表包括:

  • 銷售:此數據表包含 [日期]、[國家/地區標識符] 和 [單位] 字段CountryID 是代表 Country 數據表中唯一標識碼的整數值。

    Sales 數據表的螢幕快照,其中包含 Date、CountryID 和 Units 數據行,CountryID 設定為 1 和 2、第 3 列 3 中的 3,以及第 4 列 2 中的 2。

  • 國家/地區:此數據表是具有字段 標識符 和國家 /地區的參考數據表。 [標識符] 欄位代表每個記錄的唯一識別碼。

    [國家/地區] 數據表的螢幕快照,其中標識符設定為第 1 列 1、第 2 列 2、第 3 列 3 中的標識符,以及第 4 列 4 中的標識符。

在此範例中,您會合併這兩個數據表,並將 Sales 數據表合併為左數據表,並將 Countries 數據表合併為右數據表。 下列數據行之間會建立聯結。

Sales 數據表中的欄位 [國家/地區] 數據表中的欄位
CountryID 識別碼

目標是建立如下的數據表,其中國家/地區名稱會顯示為 Sales 數據表中的國家/地區數據行。 由於完整外部聯結的運作方式,無論它們是否只出現在其中一個數據表中,左右數據表中的所有數據列都會傳入。

完整外部聯結作業的最終數據表。

最終完整外部聯接數據表的螢幕快照,其中 Date、CountryID 和 Units 衍生自 Sales 數據表,以及衍生自 Country 數據表的 Country 數據行。 已新增第五個數據列來包含來自西班牙的數據,但該數據列在 Date、CountryID 和 Units 數據行中含有 null,因為這些值不存在於 Sales 數據表中。

若要執行完整的外部聯結:

  1. 選取 [ 銷售 ] 查詢,然後選取 [ 合併查詢]。
  2. 在 [合併] 對話框的 [右數據表] 底,選取 [國家/地區]。
  3. 在 Sales 數據表中,選取 CountryID 數據行。
  4. 在 [ 國家/地區] 數據表中,選取 [ 標識符 ] 數據行。
  5. 在 [ 聯結種類 ] 區段中,選取 [完整外部]。
  6. 選取確定

[合併] 對話框,顯示遵循先前完整外部聯結程序的結果。

注意

您可以選取並按住 Ctrl,然後選取數據行,以合併多個數據行。

提示

請仔細查看對話框底部的訊息,其中顯示「選取範圍符合這兩個數據表中 5 個數據列的 4 個」。此訊息對於瞭解您從這項作業取得的結果至關重要。

在 [國家/地區] 數據表中,您有標識符為 4 的國家/地區西班牙,但在 Sales 數據表中沒有 CountryID 4 的記錄。 因此,右數據表中只有四個數據列中的三個找到相符專案。 右數據表中沒有相符數據列的所有數據列都會分組,並顯示在輸出數據表的新數據列中,且左數據表中欄位沒有值。

此螢幕快照顯示西班牙在左數據表上沒有符合完整外部聯結的數據列,因此西班牙的 Date、CountryID 和 Units 值會設定為 null。

從合併作業之後新建立 的 [國家/地區 ] 數據行,展開 [ 國家/地區] 字段。 請勿選取 [ 使用原始數據行名稱作為前置 詞] 複選框。

[展開數據表] 選項的螢幕快照,其中已選取 [國家/地區] 數據行。

執行此作業之後,您將建立看起來像下圖的數據表。

完整外部聯接最終數據表。

包含 Date、CountryID 和 Units 衍生自 Sales 數據表之完整外部聯結最終數據表的螢幕快照,以及衍生自 Country 數據表的國家/地區數據行。 已新增第五個數據列來包含來自西班牙的數據,但該數據列在 Date、CountryID 和 Units 數據行中含有 null,因為這些值不存在於 Sales 數據表中。