# NoConcatenate

NoConcatenate 前置詞會強制將具有相同欄位集的兩個載入表格在自動串連時視為兩個個別的內部表格。

語法：

NoConcatenate( loadstatement | selectstatement )

根據預設，若表格載入後包含相同數量的欄位，將欄位名稱對應稍早載入到指令碼中的表格時，Qlik Sense 即會自動串連這兩個表格。即使第二個表格的名稱不同，還是會發生此情況。

但是，若指令碼前置詞 `NoConcatenate` 在 LOAD 陳述式前納入，或是選取第二個表格的陳述式，即會分開載入這兩個表格。

`NoConcatenate` 的一般使用案例即是當您必須建立臨時的表格副本，才能針對該副本執行一些臨時轉換，同時保留原始資料的副本。`NoConcatenate` 確保您可以在不隱含新增回來源表格的情況下，製作該副本。

## 區域設定

除非另有說明，否則此主題中的範例皆使用下列日期格式：MM/DD/YYYY。日期格式是在資料載入指令碼的 `SET DateFormat` 陳述式中指定。由於地區設定和其他因素，您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式，以滿足您的需求。或者，您可以在載入指令碼中變更格式，以符合這些範例。

應用程式中的預設地區設定是根據安裝 Qlik Sense 之電腦或伺服器的地區系統設定。若您存取的 Qlik Sense 伺服器設定為瑞典，資料載入編輯器將會對日期、時間和貨幣使用瑞典文地區設定。這些地區格式設定與 Qlik Sense 使用者介面中顯示的語言無關。Qlik Sense 將會以您正在使用的瀏覽器語言顯示。

函數範例

| 範例 | 結果 |
| --- | --- |
| `Source:<br><br>								LOAD A,B from file1.csv;<br><br><br><br>							`<br>` CopyOfSource:<br><br>								NoConcatenate<br><br>							LOAD A,B resident Source;   ` | 已載入將 `A` 和 `B` 作為量值的表格。第二個具有相同欄位的表格係使用 `NoConcatenate` 變數分開載入。 |

## 範例 1 – 隱含串連

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/NoConcatenate.htm)

#### 載入指令碼和結果

概述

在此範例中，您會以連續順序新增兩個載入指令碼。

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 傳送至名為 `Transactions` 之表格中具有日期和金額的初始資料集。

第一個載入指令碼

```
Transactions: 
LOAD  
*  
Inline [ 
id, date, amount 
1, 08/30/2018, 23.56 
2, 09/07/2018, 556.31 
3, 09/16/2018, 5.75 
4, 09/22/2018, 125.00 
5, 09/22/2018, 484.21 
6, 09/22/2018, 59.18 
7, 09/23/2018, 177.42 
]; 
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* `id`
* `date`
* `amount`

第一個結果表格

| id | 日期 | 金額 |
| --- | --- | --- |
| 1 | 08/30/2018 | 23.56 |
| 2 | 09/07/2018 | 556.31 |
| 3 | 09/16/2018 | 5.75 |
| 4 | 09/22/2018 | 125.00 |
| 5 | 09/22/2018 | 484.21 |
| 6 | 09/22/2018 | 59.18 |
| 7 | 09/23/2018 | 177.42 |

第二個載入指令碼

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 具有相同欄位的第二個資料集傳送至名為 `Sales` 的表格中。

```
Sales: 
LOAD 
*  
Inline [ 
id, date, amount 
8, 10/01/2018, 164.27 
9, 10/03/2018, 384.00 
10, 10/06/2018, 25.82 
11, 10/09/2018, 312.00 
12, 10/15/2018, 4.56 
13, 10/16/2018, 90.24 
14, 10/18/2018, 19.32 
]; 
```

結果

載入資料並前往表格。

第二個結果表格

| id | 日期 | 金額 |
| --- | --- | --- |
| 1 | 08/30/2018 | 23.56 |
| 2 | 09/07/2018 | 556.31 |
| 3 | 09/16/2018 | 5.75 |
| 4 | 09/22/2018 | 125.00 |
| 5 | 09/22/2018 | 484.21 |
| 6 | 09/22/2018 | 59.18 |
| 7 | 09/23/2018 | 177.42 |
| 8 | 10/01/2018 | 164.27 |
| 9 | 10/03/2018 | 384.00 |
| 10 | 10/06/2018 | 25.82 |
| 11 | 10/09/2018 | 312.00 |
| 12 | 10/15/2018 | 4.56 |
| 13 | 10/16/2018 | 90.24 |
| 14 | 10/18/2018 | 19.32 |

指令碼執行時，因為兩個資料集共用相同數量的欄位且欄位名稱相同，所以 `Sales` 表格會隱含串連至現有的 `Transactions` 表格上。雖然第二個表格名稱標記嘗試命名結果集 `‘Sales’`，還是會發生此情況。

您可以透過觀察資料載入進度記錄，發現銷售資料集隱含串連。

資料載入進度記錄顯示交易資料隱含串連。

資料載入進度記錄顯示交易資料隱含串連。

資料載入進度記錄顯示交易資料隱含串連。 ![資料載入進度記錄顯示交易表格載入兩次。](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Resources/Images/dle_DataLoadProgressLog_NoConcatenate.png)

## 範例 2 – 使用案例情境

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/NoConcatenate.htm)

#### 載入指令碼和結果

概述

在此案例情境，您有：

* 具有以下項目的交易資料集：

  * id

  * 日期

  * 金額（單位為 GBP）

* 具有以下項目的貨幣表格：

  * USD 至 GBP 的轉換匯率

* 具有以下項目的第二個交易資料集：

  * id

  * 日期

  * 金額（單位為 USD）

您會以連續順序載入五個指令碼。

* 第一個載入指令碼包含具有日期和 GBP 金額的初始資料集，其傳送至名為 `Transactions` 的表格中。

* 第二個載入指令碼包含：

  * 第二個具有日期和 USD 金額的資料集，其傳送至名為 `Transactions_in_USD` 的表格中。

  * `noconcatenate` 前置詞放置在 `Transactions_in_USD` 資料集的 LOAD 陳述式前，以預防隱含串連的情況。

* 第三個載入指令碼包含用於建立 `Transactions_in_USD` 表格中 GBP 和 USD 之間貨幣匯率的 `join` 前置詞。

* 第四個載入指令碼包含將 `Transactions_in_USD` 新增至初始 `Transactions` 表格的 `concatenate` 前置詞。

* 第五個載入指令碼包含將其資料串連至 `Transactions` 表格之 `Transactions_in_USD` 表格移除的 `drop table` 陳述式。

第一個載入指令碼

```
Transactions: 

Load * Inline [
id, date, amount 
1, 12/30/2018, 23.56 
2, 12/07/2018, 556.31 
3, 12/16/2018, 5.75 
4, 12/22/2018, 125.00 
5, 12/22/2018, 484.21 
6, 12/22/2018, 59.18 
7, 12/23/2018, 177.42 
];
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* `id` `date` `amount`

第一個載入指令碼結果

| id | 日期 | 金額 |
| --- | --- | --- |
| 1 | 12/30/2018 | 23.56 |
| 2 | 12/07/2018 | 556.31 |
| 3 | 12/16/2018 | 5.75 |
| 4 | 12/22/2018 | 125.00 |
| 5 | 2018/12/22 | 484.21 |
| 6 | 2018/12/22 | 59.18 |
| 7 | 12/23/2018 | 177.42 |

表格顯示具有 GBP 金額的初始資料集。

第二個載入指令碼

```
Transactions_in_USD:
NoConcatenate 
Load * Inline [ 
id, date, amount 
8, 01/01/2019, 164.27 
9, 01/03/2019, 384.00 
10, 01/06/2019, 25.82 
11, 01/09/2019, 312.00 
12, 01/15/2019, 4.56 
13, 01/16/2019, 90.24 
14, 01/18/2019, 19.32 
];
```

結果

載入資料並前往表格。

第二個載入指令碼結果

| id | 日期 | 金額 |
| --- | --- | --- |
| 1 | 2018/12/30 | 23.56 |
| 2 | 2018/12/07 | 556.31 |
| 3 | 2018/12/16 | 5.75 |
| 4 | 2018/12/22 | 125.00 |
| 5 | 2018/12/22 | 484.21 |
| 6 | 2018/12/22 | 59.18 |
| 7 | 2018/12/23 | 177.42 |
| 8 | 01/01/2019 | 164.27 |
| 9 | 01/03/2019 | 384.00 |
| 10 | 01/06/2019 | 25.82 |
| 11 | 01/09/2019 | 312.00 |
| 12 | 01/15/2019 | 4.56 |
| 13 | 01/16/2019 | 90.24 |
| 14 | 01/18/2019 | 19.32 |

您會看到 `Transactions_in_USD` 表格的第二個資料集已新增。

第三個載入指令碼

此載入指令碼將 USD 至 GBP 的貨幣匯率聯結至 `Transactions_in_USD` 表格。

```

Join (Transactions_in_USD)
Load * Inline [ 
rate 
0.7 
];
```

結果

載入資料並前往資料模型檢視器。選取 `Transactions_in_USD` 表格，然後您會看到每筆現有記錄都有 0.7 的「匯率」欄位值。

第四個載入指令碼

使用 Resident 載入時，此載入指令碼即會在金額轉換至 USD 後將 `Transactions_in_USD` 表格串連至 `Transactions` 表格。

```

Concatenate (Transactions)
LOAD
id,
date, 
amount * rate as amount
Resident Transactions_in_USD;
```

結果

載入資料並前往表格。您會看到第八至第十四行中 GBP 金額的新項目。

第四個載入指令碼結果

| id | 日期 | 金額 |
| --- | --- | --- |
| 1 | 2018/12/30 | 23.56 |
| 2 | 2018/12/07 | 556.31 |
| 3 | 2018/12/16 | 5.75 |
| 4 | 2018/12/22 | 125.00 |
| 5 | 2018/12/22 | 484.21 |
| 6 | 2018/12/22 | 59.18 |
| 7 | 2018/12/23 | 177.42 |
| 8 | 01/01/2019 | 114.989 |
| 8 | 01/01/2019 | 164.27 |
| 9 | 2019/01/03 | 268.80 |
| 9 | 2019/01/03 | 384.00 |
| 10 | 2019/01/06 | 18.074 |
| 10 | 2019/01/06 | 25.82 |
| 11 | 2019/01/09 | 218.40 |
| 11 | 2019/01/09 | 312.00 |
| 12 | 2019/01/15 | 3.192 |
| 12 | 2019/01/15 | 4.56 |
| 13 | 2019/01/16 | 63.168 |
| 13 | 2019/01/16 | 90.24 |
| 14 | 2019/01/18 | 13.524 |
| 14 | 2019/01/18 | 19.32 |

第五個載入指令碼

此載入指令碼會捨棄第四個載入指令碼結果表格中的複製項目，只留下金額為 GBP 的項目。

```

drop tables Transactions_in_USD;
```

結果

載入資料並前往表格。

第五個載入指令碼結果

| id | 日期 | 金額 |
| --- | --- | --- |
| 1 | 2018/12/30 | 23.56 |
| 2 | 2018/12/07 | 556.31 |
| 3 | 2018/12/16 | 5.75 |
| 4 | 2018/12/22 | 125.00 |
| 5 | 2018/12/22 | 484.21 |
| 6 | 2018/12/22 | 59.18 |
| 7 | 2018/12/23 | 177.42 |
| 8 | 01/01/2019 | 114.989 |
| 9 | 2019/01/03 | 268.80 |
| 10 | 2019/01/06 | 18.074 |
| 11 | 01/09/2019 | 218.40 |
| 12 | 01/15/2019 | 3.192 |
| 13 | 01/16/2019 | 63.168 |
| 14 | 01/18/2019 | 13.524 |

載入第五個載入指令碼後，結果表格會顯示存在兩個交易資料集中完整的十四筆交易；但是，交易 8 至 14 會將其金額轉換為 GBP。

如果我們移除用於第二個載入指令碼中 Transactions\_in\_USD 前的 NoConcatenate 前置詞，指令碼將會失敗並出現錯誤：「找不到表格 'Transactions\_in\_USD'」。這是因為 Transactions\_in\_USD 表格已自動串連至原始的 Transactions 表格上。

## 瞭解更多資訊

* [串連表格](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/LoadData/concatenate-tables.htm)
* [Load](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/zh-TW/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)