# Concatenate

`Concatenate` è un prefisso di caricamento dello script che consente di aggiungere un set di dati a una tabella in memoria già esistente. Viene spesso utilizzato per aggiungere diversi set di dati transazionali a un'unica tabella dei fatti centrale, o per costruire insiemi di dati di riferimento comuni di un tipo specifico che provengono da più fonti. La sua funzionalità è simile a quella dell'operatore UNION di SQL.

La tabella risultante da un'operazione `concatenate` conterrà il set di dati originale con le nuove righe di dati aggiunte in fondo alla tabella. Le tabelle di origine e di destinazione possono presentare campi diversi. Se i campi sono diversi, la tabella risultante sarà ampliata per rappresentare il risultato combinato di tutti i campi presenti sia nella tabella di origine che in quella di destinazione.

Sintassi:

Concatenate[ (tablename ) ] ( loadstatement | selectstatement )

Argomenti

| Argomento | Descrizione |
| --- | --- |
| ` tablename  ` | Il nome di una tabella esistente. La tabella denominata sarà l'obiettivo dell'operazione `Concatenate` e tutti i record di dati caricati saranno aggiunti a quella tabella. Se il parametro `tablename` non viene utilizzato, la tabella di destinazione sarà l'ultima tabella caricata prima di questa istruzione. |
| ` loadstatement/selectstatement  ` | L'argomento `loadstatement/selectstatement` che segue l'argomento `tablename` sarà concatenato alla tabella specificata. |

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/DD/YYYY. Il formato della data viene specificato nell'istruzione `SET DateFormat` nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi.

Le impostazioni regionali predefinite nelle applicazioni si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'Qlik Sense interfaccia utente. Qlik Sense verrà visualizzato nella stessa lingua del browser che stai utilizzando.

Esempio di funzione

| Esempio | Risultato |
| --- | --- |
| `Concatenate(Transactions)<br><br>Load …. ;` | I dati caricati nell'istruzione di caricamento sotto il prefisso `Concatenate` verranno aggiunti alla tabella esistente in memoria denominata `Transactions` (supponendo che una tabella denominata `Transactions` sia stata caricata prima di questo punto nello script di caricamento). |

## Esempio 1 - Aggiunta di più set di dati a una tabella di destinazione con il prefisso di caricamento Concatenate

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

#### Script di caricamento e risultati

Panoramica

In questo esempio verranno caricati due script in ordine sequenziale.

* Il primo script di caricamento contiene un set di dati iniziale con date e importi che viene inviato a una tabella denominata `Transactions`.

* Il secondo script di caricamento contiene:

  * Un secondo set di dati che viene aggiunto al set di dati iniziale utilizzando il prefisso `Concatenate`. Questo set di dati contiene un campo aggiuntivo, `type`, che non è presente nel set di dati iniziale.
  * Il prefisso `Concatenate`.

Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.

Primo script di caricamento

```

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `id`

* `date`

* `amount`

Tabella dei risultati del primo script di caricamento

| id | date | importo |
| --- | --- | --- |
| 3750 | 30/08/2018 | 23,56 |
| 3751 | 09/07/2018 | 556,31 |
| 3752 | 16/09/2018 | 5,75 |
| 3753 | 22/09/2018 | 125,00 |
| 3754 | 22/09/2018 | 484,21 |
| 3756 | 22/09/2018 | 59,18 |
| 3757 | 09/23/2018 | 177.42 |

La tabella mostra il set di dati iniziale.

Secondo script di caricamento

Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto.

```

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

Risultati

Caricare i dati e passare al foglio. Creare questo campo come una dimensione.

* `type`

Tabella dei risultati del secondo script di caricamento

| id | date | importo | tipo |
| --- | --- | --- | --- |
| 3750 | 30/08/2018 | 23,56 | - |
| 3751 | 09/07/2018 | 556,31 | - |
| 3752 | 16/09/2018 | 5,75 | - |
| 3753 | 22/09/2018 | 125,00 | - |
| 3754 | 22/09/2018 | 484,21 | - |
| 3756 | 22/09/2018 | 59,18 | - |
| 3757 | 09/23/2018 | 177.42 | - |
| 3758 | 10/01/2018 | 164.27 | Interne |
| 3759 | 10/03/2018 | 384.00 | Esterni |
| 3760 | 10/06/2018 | 25.82 | Interne |
| 3761 | 10/09/2018 | 312.00 | Interne |
| 3762 | 10/15/2018 | 4.56 | Interne |
| 3763 | 10/16/2018 | 90.24 | Interne |
| 3764 | 10/18/2018 | 19.32 | Esterni |

Si notino i valori null nel campo `type` per i primi sette record caricati in cui `type` non era stato definito.

## Esempio 2 - Aggiunta di più set di dati a una tabella di destinazione utilizzando la concatenazione implicita

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

#### Script di caricamento e risultati

Panoramica

Un caso tipico di applicazione implicita dei dati si ha quando si caricano diversi file di dati strutturati in modo identico e si desidera aggiungerli tutti a una tabella di destinazione.

Ad esempio, utilizzando `wildcards` nei nomi dei file con una sintassi come:

```
	 myTable: 
	  Load * from [myFile_*.qvd] (qvd); 
						
```

o in cicli che utilizzano costrutti come:

```

	for each file in filelist('myFile_*.qvd') 

	myTable: 
	Load * from [$(file)] (qvd); 

	next file 
```

Nota informaticaLa concatenazione implicita avverrà tra due tabelle caricate con campi di nome identico, anche se non sono definite una dopo l'altra nello script. Ciò può portare all'aggiunta involontaria di dati alle tabelle. Se non si vuole che una tabella secondaria con campi identici venga aggiunta in questo modo, utilizzare il prefisso load `NoConcatenate`. Rinominare la tabella con un tag nome alternativo non è sufficiente a impedire che si verifichi una concatenazione implicita. Per ulteriori informazioni, vedere [NoConcatenate](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/NoConcatenate.htm).

In questo esempio verranno caricati due script in ordine sequenziale.

* Il primo script di caricamento contiene un set di dati iniziale con quattro campi che viene inviato a una tabella denominata `Transactions`.

* Il secondo script di caricamento contiene un set di dati con gli stessi campi del primo set di dati.

Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.

Primo script di caricamento

```

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `id`

* `date`

* `amount`

* `type`

Tabella dei risultati del primo script di caricamento

| id | date | tipo | importo |
| --- | --- | --- | --- |
| 3758 | 10/01/2018 | Interne | 164.27 |
| 3759 | 10/03/2018 | Esterni | 384.00 |
| 3760 | 10/06/2018 | Interne | 25.82 |
| 3761 | 10/09/2018 | Interne | 312.00 |
| 3762 | 10/15/2018 | Interne | 4.56 |
| 3763 | 10/16/2018 | Interne | 90.24 |
| 3764 | 10/18/2018 | Esterni | 19.32 |

La tabella mostra il set di dati iniziale.

Secondo script di caricamento

Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto.

```

Load * Inline [ 
id, date, amount, type 
3765, 11/03/2018, 129.40, Internal 
3766, 11/05/2018, 638.50, External 
]; 
```

Risultati

Caricare i dati e passare al foglio.

Tabella dei risultati del secondo script di caricamento

| id | date | tipo | importo |
| --- | --- | --- | --- |
| 3758 | 10/01/2018 | Interne | 164.27 |
| 3759 | 10/03/2018 | Esterni | 384.00 |
| 3760 | 10/06/2018 | Interne | 25.82 |
| 3761 | 10/09/2018 | Interne | 312.00 |
| 3762 | 10/15/2018 | Interne | 4.56 |
| 3763 | 10/16/2018 | Interne | 90.24 |
| 3764 | 10/18/2018 | Esterni | 19.32 |
| 3765 | 11/03/2018 | Interne | 129.40 |
| 3766 | 11/05/2018 | Esterni | 638.50 |

Il secondo set di dati è stato concatenato implicitamente al set di dati iniziale, poiché i campi sono identici.