# Concatenate

`Concatenate` é um prefixo de carregamento de script que permite que um conjunto de dados seja anexado a uma tabela já existente na memória. Geralmente, ele é usado para acrescentar diferentes conjuntos de dados transacionais a uma única tabela central de fatos ou para criar conjuntos de dados de referência comuns de um tipo específico que se originam de várias fontes. Sua funcionalidade é semelhante a um operador SQL UNION.

A tabela resultante de uma operação `concatenate` conterá o conjunto de dados original com as novas linhas de dados anexadas à parte inferior dessa tabela. As tabelas de origem e de destino podem ter campos diferentes presentes. Nos pontos em que os campos forem diferentes, a tabela resultante será ampliada para representar o resultado combinado de todos os campos presentes na tabela de origem e na tabela de destino.

Sintaxe:

Concatenate[ (tablename ) ] ( loadstatement | selectstatement )

Argumentos

| Argumento | Descrição |
| --- | --- |
| ` tablename  ` | O nome de uma tabela existente. A tabela nomeada será o destino da operação `Concatenate`, e todos os registros de dados carregados serão anexados a essa tabela. Se o parâmetro `tablename` não for usado, a tabela de destino será a última tabela carregada antes dessa instrução. |
| ` loadstatement/selectstatement  ` | O argumento `loadstatement/selectstatement` que segue o argumento `tablename` será concatenado à tabela especificada. |

## Configurações regionais

A menos que especificado de outra forma, os exemplos neste tópico usam o seguinte formato de data: MM/DD/AAAA. O formato de data é especificado na instrução `SET DateFormat` no seu script de carregamento de dados. A formatação de data padrão pode ser diferente no seu sistema devido às suas configurações regionais e outros fatores. Você pode alterar os formatos nos exemplos abaixo para atender às suas necessidades. Ou pode alterar os formatos no seu script de carregamento para corresponder a esses exemplos.

As configurações regionais padrão nos aplicativos são baseadas nas configurações regionais do sistema do computador ou servidor onde o Qlik Sense está instalado. Se o servidor Qlik Sense que você está acessando estiver definido como Suécia, o Editor de carregamento de dados usará as configurações regionais suecas para datas, horas e moedas. Essas configurações de formato regional não estão relacionadas ao idioma exibido na Qlik Sense interface do usuário. Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

Exemplo de função

| Exemplo | Resultado |
| --- | --- |
| `Concatenate(Transactions)<br><br>Load …. ;` | Os dados carregados na instrução de carregamento abaixo do prefixo `Concatenate` serão anexados à tabela existente na memória, denominada `Transactions`, (supondo que uma tabela denominada `Transactions` tenha sido carregada antes desse ponto no script de carregamento. |

## Exemplo 1: Anexando vários conjuntos de dados a uma tabela de destino com o prefixo de carregamento Concatenate

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

#### Script de carregamento e resultados

Visão geral

Neste exemplo, você carregará dois scripts em ordem sequencial.

* O primeiro script de carregamento contém um conjunto de dados inicial com datas e valores que é enviado para uma tabela denominada `Transactions`.

* O segundo script de carregamento contém:

  * Um segundo conjunto de dados que é anexado ao conjunto de dados inicial usando o prefixo `Concatenate`. Esse conjunto de dados tem um campo adicional, `type`, que não está no conjunto de dados inicial.
  * O prefixo `Concatenate`.

Abra o editor de carregamento de dados e adicione o script de carregamento abaixo em uma nova guia.

Primeiro script de carregamento

```

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `id`

* `date`

* `amount`

Primeira tabela de resultados do script de carregamento

| id | data | quantidade |
| --- | --- | --- |
| 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 |

A tabela mostra o conjunto de dados inicial.

Segundo script de carregamento

Abra o editor de carregamento de dados e adicione o script de carregamento abaixo.

```

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

Resultados

Carregue os dados e acesse a pasta. Crie esse campo como uma dimensão:

* `type`

Segunda tabela de resultados do script de carregamento

| id | data | quantidade | tipo |
| --- | --- | --- | --- |
| 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 | Interno |
| 3759 | 10/03/2018 | 384.00 | Externo |
| 3760 | 10/06/2018 | 25.82 | Interno |
| 3761 | 10/09/2018 | 312.00 | Interno |
| 3762 | 10/15/2018 | 4.56 | Interno |
| 3763 | 10/16/2018 | 90.24 | Interno |
| 3764 | 10/18/2018 | 19.32 | Externo |

Observe os valores nulos no campo `type` dos primeiros sete registros carregados em que `type` não foi definido.

## Exemplo 2: Anexar vários conjuntos de dados a uma tabela de destino usando a concatenação implícita

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

#### Script de carregamento e resultados

Visão geral

Um caso de uso típico para anexar dados implicitamente é quando você carrega vários arquivos de dados estruturados de maneira idêntica e deseja anexar todos eles a uma tabela de destino.

Por exemplo, usando `wildcards` em nomes de arquivos com uma sintaxe como:

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

ou em loops usando construções como:

```

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

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

	next file 
```

Nota informativaA concatenação implícita ocorrerá entre quaisquer duas tabelas carregadas com campos com nomes idênticos, mesmo que não estejam definidos um após o outro no script. Isso pode fazer com que dados sejam anexados involuntariamente a tabelas. Se não quiser que uma tabela secundária com campos idênticos seja anexada dessa forma, use o prefixo de carregamento `NoConcatenate`. Renomear a tabela com uma tag de nome de tabela alternativa não é suficiente para evitar que a concatenação implícita ocorra. Para obter mais informações, consulte [NoConcatenate](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/NoConcatenate.htm).

Neste exemplo, você carregará dois scripts em ordem sequencial.

* O primeiro script de carregamento contém um conjunto de dados inicial com quatro campos que é enviado para uma tabela denominada `Transactions`.

* O segundo script de carregamento contém um conjunto de dados com os mesmos campos do primeiro conjunto de dados.

Abra o editor de carregamento de dados e adicione o script de carregamento abaixo em uma nova guia.

Primeiro script de carregamento

```

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `id`

* `date`

* `amount`

* `type`

Primeira tabela de resultados do script de carregamento

| id | data | tipo | quantidade |
| --- | --- | --- | --- |
| 3758 | 10/01/2018 | Interno | 164.27 |
| 3759 | 10/03/2018 | Externo | 384.00 |
| 3760 | 10/06/2018 | Interno | 25.82 |
| 3761 | 10/09/2018 | Interno | 312.00 |
| 3762 | 10/15/2018 | Interno | 4.56 |
| 3763 | 10/16/2018 | Interno | 90.24 |
| 3764 | 10/18/2018 | Externo | 19.32 |

A tabela mostra o conjunto de dados inicial.

Segundo script de carregamento

Abra o editor de carregamento de dados e adicione o script de carregamento abaixo.

```

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

Resultados

Carregue os dados e acesse a pasta.

Segunda tabela de resultados do script de carregamento

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

O segundo conjunto de dados foi implicitamente concatenado no conjunto de dados inicial porque tinham campos idênticos.