Concatenate
Concatenate 是指令碼載入前置詞,可讓資料集附加至已存在的記憶體內表格。這經常用於將不同組的交易資料附加至單一個中央的事實資料表,或是建置源自多項來源之特定類型的常見參考資料集。這類似 SQL UNION 運算子的功能。
concatenate 運算的結果表格包含原始資料集,其具有附加至表格底部的新資料列。來源和目標表格可能會出現不同的欄位。如果欄位不同,即會擴大結果表格以代表出現在來源表格和目標表格之所有欄位的組合結果。
語法:
Concatenate[ (tablename ) ] ( loadstatement | selectstatement )
引數 | 描述 |
---|---|
tablename | 現有表格的名稱。命名的表格會是 Concatenate 運算的目標,且載入的任何資料記錄都會附加至該表格。如果未使用 tablename 參數,則目標表格會是此陳述式前的最後一個載入表格。 |
loadstatement/selectstatement | 追蹤 tablename 引數的 loadstatement/selectstatement 引述會串連至特定表格。 |
區域設定
除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat 陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。
應用程式中的預設地區設定是根據安裝 Qlik Sense 之電腦或伺服器的地區系統設定。若您存取的 Qlik Sense 伺服器設定為瑞典,資料載入編輯器將會對日期、時間和貨幣使用瑞典文地區設定。這些地區格式設定與 Qlik Sense 使用者介面中顯示的語言無關。Qlik Sense 顯示的語言將與您正在使用的瀏覽器相同。
範例 | 結果 |
---|---|
Concatenate(Transactions) Load …. ; | 載入到 Concatenate 前置詞下方的資料會附加至名為 Transactions 現有記憶體內表格 (假設在載入指令碼的這個點前已載入名為 Transactions 的表格)。 |
範例 1 – 將多組資料附加至具有串連載入前置詞的目標表格
概覽
在此範例中,您會以連續順序載入兩個指令碼。
-
第一個載入指令碼包含具有日期和金額的初始資料集,其傳送至名為 Transactions 的表格中。
-
第二個載入指令碼包含:
- 第二個資料集使用 Concatenate 前置詞附加至初始資料集。此資料集具有其他欄位 type,且不位於初始資料集。
- Concatenate 前置詞。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
第一個載入指令碼
Transactions:
Load * Inline [
id, date, amount
3750, 08/30/2018, 23.56
3751, 09/07/2018, 556.31
3752, 09/16/2018, 5.75
3753, 09/22/2018, 125.00
3754, 09/22/2018, 484.21
3756, 09/22/2018, 59.18
3757, 09/23/2018, 177.42
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
id
-
date
-
amount
id | 日期 | 金額 |
---|---|---|
3750 | 08/30/2018 | 23.56 |
3751 | 09/07/2018 | 556.31 |
3752 | 09/16/2018 | 5.75 |
3753 | 09/22/2018 | 125.00 |
3754 | 09/22/2018 | 484.21 |
3756 | 09/22/2018 | 59.18 |
3757 | 09/23/2018 | 177.42 |
表格顯示初始資料集。
第二個載入指令碼
開啟資料載入編輯器,然後在下方新增載入指令碼。
Concatenate(Transactions)
Load * Inline [
id, date, amount, type
3758, 10/01/2018, 164.27, Internal
3759, 10/03/2018, 384.00, External
3760, 10/06/2018, 25.82, Internal
3761, 10/09/2018, 312.00, Internal
3762, 10/15/2018, 4.56, Internal
3763, 10/16/2018, 90.24, Internal
3764, 10/18/2018, 19.32, External
];
結果
載入資料並前往工作表。將此欄位建立為維度使用。
-
type
id | 日期 | 金額 | 類型 |
---|---|---|---|
3750 | 08/30/2018 | 23.56 | - |
3751 | 09/07/2018 | 556.31 | - |
3752 | 09/16/2018 | 5.75 | - |
3753 | 09/22/2018 | 125.00 | - |
3754 | 09/22/2018 | 484.21 | - |
3756 | 09/22/2018 | 59.18 | - |
3757 | 09/23/2018 | 177.42 | - |
3758 | 10/01/2018 | 164.27 | 內部 |
3759 | 10/03/2018 | 384.00 | 外部 |
3760 | 10/06/2018 | 25.82 | 內部 |
3761 | 10/09/2018 | 312.00 | 內部 |
3762 | 10/15/2018 | 4.56 | 內部 |
3763 | 10/16/2018 | 90.24 | 內部 |
3764 | 10/18/2018 | 19.32 | 外部 |
請注意 type 欄位中的 Null 值,前七筆記錄載入時未定義 type。
範例 2 – 使用隱含串連將多組資料附加至目標表格
概覽
隱含附加資料的一般使用案例即是當您載入相同結構化資料的多個檔案,並想要全部附加至目標表格的時候。
例如,將 wildcards 用於具有以下語法的檔案名稱中:
myTable:
Load * from [myFile_*.qvd] (qvd);
或是用於使用以下建構的迴圈中:
for each file in filelist('myFile_*.qvd')
myTable:
Load * from [$(file)] (qvd);
next file
在此範例中,您會以連續順序載入兩個指令碼。
-
第一個載入指令碼包含具有四個欄位的初始資料集,其傳送至名為 Transactions 的表格中。
-
第二個載入指令碼包含的資料集具有與第一個資料集相同的欄位。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
第一個載入指令碼
Transactions:
Load * Inline [
id, date, amount, type
3758, 10/01/2018, 164.27, Internal
3759, 10/03/2018, 384.00, External
3760, 10/06/2018, 25.82, Internal
3761, 10/09/2018, 312.00, Internal
3762, 10/15/2018, 4.56, Internal
3763, 10/16/2018, 90.24, Internal
3764, 10/18/2018, 19.32, External
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
id
-
date
-
amount
-
type
id | 日期 | 類型 | 金額 |
---|---|---|---|
3758 | 10/01/2018 | 內部 | 164.27 |
3759 | 10/03/2018 | 外部 | 384.00 |
3760 | 10/06/2018 | 內部 | 25.82 |
3761 | 10/09/2018 | 內部 | 312.00 |
3762 | 10/15/2018 | 內部 | 4.56 |
3763 | 10/16/2018 | 內部 | 90.24 |
3764 | 10/18/2018 | 外部 | 19.32 |
表格顯示初始資料集。
第二個載入指令碼
開啟資料載入編輯器,然後在下方新增載入指令碼。
Load * Inline [
id, date, amount, type
3765, 11/03/2018, 129.40, Internal
3766, 11/05/2018, 638.50, External
];
結果
載入資料並前往工作表。
id | 日期 | 類型 | 金額 |
---|---|---|---|
3758 | 10/01/2018 | 內部 | 164.27 |
3759 | 10/03/2018 | 外部 | 384.00 |
3760 | 10/06/2018 | 內部 | 25.82 |
3761 | 10/09/2018 | 內部 | 312.00 |
3762 | 10/15/2018 | 內部 | 4.56 |
3763 | 10/16/2018 | 內部 | 90.24 |
3764 | 10/18/2018 | 外部 | 19.32 |
3765 | 11/03/2018 | 內部 | 129.40 |
3766 | 11/05/2018 | 外部 | 638.50 |
第二個資料集隱含串連至初始資料集,因為它們具有相同的欄位。