共用方式為


右反聯結

Power Query 中 [合併] 對話方塊中提供的其中一種聯結類型是右反聯結,只會從右數據表引進沒有任何相符數據列的數據列。 詳細資訊:合併作業概觀

右反聯結範例。

顯示左側包含 Date、CountryID 和 Units 列的數據表的圖表。 強調的 CountryID 資料行在第 1 和第 2 行的值為 1,第 3 行的值為 3,以及第 4 行的值為 2。 右側表格包含ID和國家欄。 強調的標識符數據行包含第 1 列 3 的值(表示巴拿馬),第 2 列則包含 4 個值(表示西班牙)。 前兩個數據表下方的表格包含欄位:Date、CountryID、Units 和 Country。 數據表有一個數據列,Date、CountryID 和 Units 設定為 null,而 Country 設定為西班牙。

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

  • Sales:此數據表包含 DateCountryIDUnits欄位。 CountryID 是整數值,代表來自 Country 數據表的唯一標識符。

    包含 Date、CountryID 和 Units 列的銷售數據表的螢幕截圖,其中,第 1 和第 2 行的 CountryID 設定為 1,第 3 行設定為 3,第 4 行設定為 2。

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

    國家/地區數據表的螢幕快照,第 1 列的ID設定為3,國家設定為巴拿馬,第 2 列的ID設定為4,國家設定為西班牙。

在此範例中,您會將這兩個數據表合併,並將 sales 數據表合併為左數據表,並將 Countries 數據表合併為右數據表。 將在下列欄之間進行連結。

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

目標是建立以下表格,其中只保留來自右側表格的資料列,這些資料列與左側表格中的任何一列都不相符。 常見的使用案例是,您可以在右側數據表中找到所有可用的數據列,但在左側數據表中找不到。

從右反聯結建立的數據表。

右反聯結最終數據表,其中 Date、CountryID、Units 和 Country 為標頭行,僅有一個數據行,其中除了 Country 列外其他所有列都是 Null,而 Country 列包含「西班牙」。

若要執行正確的反聯結:

  1. 選取 Sales 查詢,然後選取 合併查詢
  2. 在 [合併] 對話框的 [合併右數據表] 底下,選取 [國家/地區]。
  3. 在 [Sales] 數據表中,選取 [CountryID] 數據行。
  4. 在 [國家/地區] 表中,選取 [ID] 列。
  5. 在 [聯結種類] 區段中,選取 [右 ]。
  6. 選取 [確定]

[合併] 對話框,其中顯示遵循上一個右方反聯結程序的結果。

提示

請仔細查看對話框底部的訊息,該訊息顯示「選取範圍排除第二個數據表的 2 行中 1 行」。此訊息對於瞭解您從這項操作取得的結果至關重要。

國家/地區 表中,您有 國家/地區 西班牙,其 ID 為 4,但在 銷售 表中,国家ID 4 卻沒有記錄。 這就是為什麼只有來自右邊(第二個)數據表的兩個資料列中的一個找到匹配的原因。 由於右反聯結的運作原理,該操作的輸出中永遠不會出現來自左(第一個)資料表的任何資料列。

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

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

執行此作業之後,您會建立看起來像下圖的數據表。 新展開的 Country 欄位沒有任何值。 這是因為右邊的反聯結不會從左數據表帶來任何值,它只會保留來自右數據表的數據列。

右反連接最終表。

最終數據表的屏幕截圖,顯示了帶有 Date、CountryID、Units 和 Country 標題列的表格。該表格中有一行,所有標題列均為 null,唯獨 Country 列顯示西班牙。