跳到主要內容 Skip to complementary content

Join

join 前置詞能夠將載入的表格與現有的具名表格或先前最後建立的資料表聯結。

聯結資料的效果是透過其他欄位或屬性集合延伸目標表格,亦即尚未出現在目標表格中的內容。來源資料集和目標表格之間的任何一般欄位名稱用來理解如何關聯新的傳入記錄。這通常稱為「自然聯結」。Qlik 聯結操作會導致產生的目標表格有比一開始更多或更少的記錄,取決於聯結關聯的獨特性和採用的聯結類型。

有四種聯結類型:

左聯結是最常見的聯結類型。例如,若您有交易資料集並想要組合參考資料集,您通常會使用 Left Join。您會先載入交易表格,然後載入參考資料集,同時透過 Left Join 前置詞聯結到已載入的交易表格。Left Join 會將所有交易保持原狀並新增找到相符項目的補充參考資料欄位。

若您有兩個資料集,而您只在乎有相符關聯的任何結果,請考慮使用 Inner Join。若找不到相符內容,這將會從載入的來源資料和目標表格排除所有記錄。因此,這可能會讓目標表格的記錄比聯結操作發生之前更少。

若您需要保留兩個目標記錄和所有傳入記錄,請使用 Outer Join。若找不到相符內容,仍會保留每個記錄集合,而來自聯結另一側的欄位將會保持未填入 (null)。外聯結通常很少有實際使用情況。

此聯結類型保留所有即將載入的記錄,同時將透過聯結設為目標的記錄減少為只有在傳入記錄中有相符關聯的記錄。此為合適的聯結類型,有時候用來將已預先載入的記錄表格裁剪為所需的子集。

若省略類型關鍵字,Inner Join 是預設聯結類型。

來自不同聯結操作類型的結果集合範例

來自不同聯結操作類型的結果集合範例,在每項操作後呈現資料表格的前後比較。
資訊備註若在聯結操作的來源和目標之間沒有共同的欄位名稱,聯結將會產生所有列的笛卡兒乘積——這稱為「交叉聯結」。

來自「交叉聯結」操作的結果集合範例

輸入資料與交叉聯結操作後輸出的前後比較 (這可能會涉及任何類型的聯結操作)。

語法:  

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

引數
引數 描述
tablename 要與所載入表格比較的具名表格。
loadstatementselectstatement 已載入表格的 LOADSELECT 陳述式。

這些主題可協助您使用此函數:

相關主題
主題 描述
管理資料 合併表格 此主題進一步說明「聯結」和「保留」資料集的概念。
Keep Keep 載入前置詞類似於 Join 前置詞,但這不會合併來源和目標資料集。而是會根據採用的操作類型 (內、外、左或右) 裁剪每個資料集。

範例 1 - 左聯結:以參考資料集豐富目標表格

範例 2 – 內聯結:僅合併相符記錄

範例 3 – 外聯結:合併重疊記錄集合

範例 4 – 右聯結:按第二主要資料集裁剪目標表格