# 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 em que 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 interface do usuário do Qlik Sense. O 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 | 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 |

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 | date | amount | type |
| --- | --- | --- | --- |
| 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/May2025/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 | date | type | amount |
| --- | --- | --- | --- |
| 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 | date | type | amount |
| --- | --- | --- | --- |
| 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.