# NoConcatenate

Le préfixe NoConcatenate oblige deux tables chargées aux ensembles de champs identiques à être traitées comme deux tables internes distinctes. Sinon, elles seraient automatiquement concaténées.

NoConcatenate( loadstatement | selectstatement )

Par défaut, si une table chargée contient un nombre identique de champs et des noms de champ identiques par rapport à une table précédemment chargée dans le script, Qlik Sense concatène automatiquement ces deux tables. Cela se produit, même si la deuxième table est nommée différemment.

Cependant, si le préfixe de script `NoConcatenate` est inclus avant l'instruction LOAD ou l'instruction SELECT de la deuxième table, ces deux tables sont chargées séparément.

Un cas d'usage type de `NoConcatenate` se produit si vous avez besoin de créer une copie temporaire d'une table pour effectuer des transformations temporaires sur cette copie, tout en conservant une copie des données originales. Grâce à `NoConcatenate`, vous pouvez effectuer cette copie sans la rajouter implicitement à la table source.

## Paramètres régionaux

Sauf indication contraire, les exemples de cette rubrique utilisent le format de date suivant : MM/JJ/AAAA. Le format de date est indiqué dans l'instruction `SET DateFormat` de votre script de chargement de données. Le format de date par défaut peut être différent dans votre système en raison de vos paramètres régionaux et d'autres facteurs. Vous pouvez modifier les formats utilisés dans les exemples ci-dessous en fonction de vos besoins. Ou vous pouvez modifier les formats utilisés dans votre script de chargement pour qu'ils correspondent à ceux de ces exemples.

Les paramètres régionaux par défaut des applications sont basés sur les paramètres système régionaux de l'ordinateur ou du serveur sur lequel Qlik Sense est installé. Si le serveur Qlik Sense auquel vous accédez est configuré sur la Suède, l'éditeur de chargement de données utilisera les paramètres régionaux suédois pour les dates, l'heure et la devise. Ces paramètres de format régionaux ne sont pas liés à la langue affichée dans l'interface utilisateur Qlik Sense. Qlik Sense sera affiché dans la même langue que celle du navigateur que vous utilisez.

Exemple de fonction

| Exemple | Résultat |
| --- | --- |
| `Source:<br><br>								LOAD A,B from file1.csv;<br><br><br><br>							`` CopyOfSource:<br><br>								NoConcatenate<br><br>							LOAD A,B resident Source;   ` | Une table avec `A` et `B` comme mesures est chargée. Une deuxième table contenant les mêmes champs est chargée séparément via la variable `NoConcatenate`. |

## Exemple 1 – concaténation implicite

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

#### Script de chargement et résultats

Vue d'ensemble

Dans cet exemple, vous allez ajouter deux scripts de chargement dans l'ordre séquentiel.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Un ensemble de données initial avec des dates et des montants, envoyé à une table appelée `Transactions`.

Premier script de chargement

```
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 
]; 
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

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

Premier tableau de résultats

| 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 |

Deuxième script de chargement

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Un deuxième ensemble de données avec des champs identiques est envoyé à une table appelée `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 
]; 
```

Résultats

Chargez les données et accédez à la table.

Deuxième tableau de résultats

| 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 |
| 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 |

Lors de l'exécution du script, la table `Sales` est implicitement concaténée à la table `Transactions` existante en raison du fait que les deux ensembles de données partage un nombre identique de champs portant des noms de champ identiques. Cela se produit, même si la balise de nom de la deuxième table tente de nommer l'ensemble de résultats `‘Sales’`.

Vous pouvez voir que l'ensemble de données Sales est implicitement concaténé en consultant le journal Progression du chargement de données.

Journal Progression du chargement de données montrant la concaténation implicite des données Transactions.

Journal Progression du chargement de données montrant la concaténation implicite des données Transactions.

Journal Progression du chargement de données montrant la concaténation implicite des données Transactions.![Journal Progression du chargement de données montrant que la table Transactions a été chargée deux fois.](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Resources/Images/dle_DataLoadProgressLog_NoConcatenate.png)

## Exemple 2 – scénario de cas d'usage

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

#### Script de chargement et résultats

Vue d'ensemble

Dans ce scénario de cas d'usage, vous avez :

* Un ensemble de données de transactions avec :

  * id

  * date

  * montant (en GBP)

* Une table de devises avec :

  * taux de conversion d'USD en GBP

* Un deuxième ensemble de données de transactions avec :

  * id

  * date

  * montant (en USD)

Vous allez charger cinq scripts dans l'ordre séquentiel.

* Le premier script de chargement contient un ensemble de données initial avec des dates et des montants en GBP, envoyé à une table appelée `Transactions`.

* Le deuxième script contient les éléments suivants :

  * Un deuxième ensemble de données avec des dates et des montants en USD, envoyé à une table appelée `Transactions_in_USD`.

  * Le préfixe `noconcatenate`, placé avant l'instruction LOAD de l'ensemble de données `Transactions_in_USD`, pour empêcher la concaténation implicite.

* Le troisième script de chargement contient le préfixe `join`, utilisé pour créer un taux de change de devises entre les devises GBP et USD dans la table `Transactions_in_USD`.

* Le quatrième script de chargement contient le préfixe `concatenate`, qui ajoutera la valeur `Transactions_in_USD` à la table `Transactions` initiale.

* Le cinquième script de chargement contient l'instruction `drop table`, qui supprimera la table `Transactions_in_USD` dont les données ont été concaténées à la table `Transactions`.

Premier script de chargement

```
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 
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `id``date``amount`

Résultats du premier script de chargement

| 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 |

Le tableau montre l'ensemble de données initial avec les montants en GDP.

Deuxième script de chargement

```
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 
];
```

Résultats

Chargez les données et accédez à la table.

Résultats du deuxième script de chargement

| 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 |
| 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 |

Vous verrez que le deuxième ensemble de données de la table `Transactions_in_USD` a été ajouté.

Troisième script de chargement

Ce script de chargement joint un taux de change de devises de la devise USD en devise GDP dans la table `Transactions_in_USD`.

```

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

Résultats

Chargez les données et accédez au visionneur de modèle de données. Sélectionnez la table `Transactions_in_USD` et vous verrez que chaque enregistrement existant comporte une valeur de champ 'rate' égale à 0,7.

Quatrième script de données

Via l'instruction resident load, ce script de chargement concatène la table ` Transactions_in_USD  `à la table `Transactions` après avoir converti les montants en USD.

```

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

Résultats

Chargez les données et accédez à la table. Vous verrez de nouvelles entrées avec des montants en GBP dans les lignes huit à quatorze.

Résultats du quatrième script de chargement

| 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 |
| 8 | 01/01/2019 | 114.989 |
| 8 | 01/01/2019 | 164.27 |
| 9 | 01/03/2019 | 268.80 |
| 9 | 01/03/2019 | 384.00 |
| 10 | 01/06/2019 | 18.074 |
| 10 | 01/06/2019 | 25.82 |
| 11 | 01/09/2019 | 218.40 |
| 11 | 01/09/2019 | 312.00 |
| 12 | 01/15/2019 | 3.192 |
| 12 | 01/15/2019 | 4.56 |
| 13 | 01/16/2019 | 63.168 |
| 13 | 01/16/2019 | 90.24 |
| 14 | 01/18/2019 | 13.524 |
| 14 | 01/18/2019 | 19.32 |

Cinquième script de chargement

Ce script de chargement abandonne les entrées en double du tableau de résultats du quatrième script de chargement, laissant uniquement les entrées avec des montants en GBP.

```

drop tables Transactions_in_USD;
```

Résultats

Chargez les données et accédez à la table.

Résultats du cinquième script de chargement

| 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 |
| 8 | 01/01/2019 | 114.989 |
| 9 | 01/03/2019 | 268.80 |
| 10 | 01/06/2019 | 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 |

Après le chargement du cinquième script de chargement, le tableau de résultats montre l'ensemble des quatorze transactions qui existaient dans les deux ensembles de données de transactions ; en revanche, les montants des transactions 8 à 14 ont été convertis en GBP.

Si on supprime le préfixe NoConcatenate utilisé avant Transactions\_in\_USD dans le deuxième script de chargement, le script échoue avec l'erreur :“Table 'Transactions\_in\_USD' not found” (Table introuvable). Cela est dû au fait que la table Transactions\_in\_USD aurait été automatiquement concaténée à la table Transactions originale.

## En savoir plus

* [Concaténation de tables](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/LoadData/concatenate-tables.htm)
* [Load](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/fr-FR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)