Concatenate
                Concatenate 是指令碼載入前置詞,可讓資料集附加至已存在的記憶體內表格。這經常用於將不同組的交易資料附加至單一個中央的事實資料表,或是建置源自多項來源之特定類型的常見參考資料集。這類似 SQL UNION 運算子的功能。
concatenate 運算的結果表格包含原始資料集,其具有附加至表格底部的新資料列。來源和目標表格可能會出現不同的欄位。如果欄位不同,即會擴大結果表格以代表出現在來源表格和目標表格之所有欄位的組合結果。
語法:
Concatenate[ (tablename ) ] ( loadstatement | selectstatement )
| 引數 | 描述 | 
|---|---|
| tablename | 現有表格的名稱。命名的表格會是 Concatenate 運算的目標,且載入的任何資料記錄都會附加至該表格。如果未使用 tablename 參數,則目標表格會是此陳述式前的最後一個載入表格。 | 
| loadstatement/selectstatement | 追蹤 tablename 引數的 loadstatement/selectstatement 引述會串連至特定表格。 | 
區域設定
除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat 陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。如需詳細資訊,請參閱 修改用於應用程式和指令碼的區域設定。
應用程式中的預設地區設定是根據使用者設定檔。這些地區格式設定與 Qlik Cloud 使用者介面中顯示的語言無關。Qlik Cloud 顯示的語言將與您正在使用的瀏覽器相同。
若您是應用程式建立者,可以為您建立的應用程式設定預設地區。如需詳細資訊,請參閱Qlik Cloud 分析 中設定用於建立應用程式和指令碼的偏好區域設定。
| 範例 | 結果 | 
|---|---|
| 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 | 
第二個資料集隱含串連至初始資料集,因為它們具有相同的欄位。