# NoConcatenate

O prefixo NoConcatenate força duas tabelas carregadas com conjuntos de campos idênticos a serem tratadas como tabelas internas à parte, quando do contrário seriam concatenadas automaticamente.

Sintaxe:

NoConcatenate( loadstatement | selectstatement )

Por padrão, se for carregada uma tabela que contenha um número idêntico de campos e nomes de campo correspondentes a uma tabela carregada anteriormente no script, o Qlik Sense concatenará automaticamente essas duas tabelas. Isso acontecerá mesmo que a segunda tabela tenha um nome diferente.

No entanto, se o prefixo do script `NoConcatenate` for incluído antes da instrução de carregamento ou da instrução de seleção da segunda tabela, essas duas tabelas serão carregadas separadamente.

Um caso de uso típico de `NoConcatenate` é quando você pode precisar criar uma cópia temporária de uma tabela para realizar algumas transformações temporárias nessa cópia, mantendo uma cópia dos dados originais. `NoConcatenate` garante que você possa fazer essa cópia sem adicioná-la implicitamente de volta à tabela de origem.

## 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 carga 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. Para obter mais informações, consulte [Modificando configurações regionais para aplicativos e scripts](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

As configurações regionais padrão nos aplicativos são baseadas no perfil do usuário. Essas configurações de formato regional não estão relacionadas ao idioma exibido na interface do usuário do Qlik Cloud. O Qlik Cloud será exibido no mesmo idioma do navegador que você está usando.

Se você for um criador de aplicativos, poderá definir a região padrão para os aplicativos que criar. Para obter mais informações, consulte [Definir suas configurações regionais preferidas para criar aplicativos e scripts no Qlik Cloud Analytics](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Exemplo de função

| Exemplo | Resultado |
| --- | --- |
| `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;   ` | Uma tabela com `A` e `B` como medidas é carregada. Uma segunda tabela com os mesmos campos é carregada separadamente usando a variável `NoConcatenate`. |

## Exemplo 1: Concatenação implícita

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

#### Script de carregamento e resultados

Visão geral

Neste exemplo, você adicionará dois scripts de carregamento em ordem sequencial.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados inicial com datas e valores que é enviado para uma tabela denominada `Transactions`.

Primeiro script de carregamento

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

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

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

Segundo script de carregamento

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um segundo conjunto de dados com campos idênticos é enviado para uma tabela denominada `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 
]; 
```

Resultados

Carregue os dados e vá até a tabela.

Segunda tabela de resultados

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

Quando o script é executado, a tabela `Sales` é implicitamente concatenada na tabela `Transactions` existente pelo fato de os dois conjuntos de dados compartilharem um número idêntico de campos, com nomes de campo idênticos. Isso acontece apesar de a segunda tag de nome da tabela tentar nomear o conjunto de resultados `‘Sales’`.

Examinando o registro de Progresso do carregamento de dados, é possível ver que o conjunto de dados de vendas está implicitamente concatenado.

Registro de progresso do carregamento de dados mostrando dados de Transactions sendo concatenados implicitamente.

Registro de progresso do carregamento de dados mostrando dados de Transactions sendo concatenados implicitamente.

Registro de progresso do carregamento de dados mostrando dados de Transactions sendo concatenados implicitamente. ![Registro de progresso do carregamento de dados mostrando que a tabela Transactions foi carregada duas vezes.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/dle_DataLoadProgressLog_NoConcatenate.png)

## Exemplo 2: Cenário de caso de uso

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

#### Script de carregamento e resultados

Visão geral

Nesse cenário de caso de uso, você tem:

* Um conjunto de dados de transações com:

  * id

  * data

  * amount (em GBP)

* Uma tabela de moedas com:

  * Taxas de conversão de USD para GBP

* Um segundo conjunto de dados de transações com:

  * id

  * data

  * amount (em USD)

Você carregará cinco scripts em ordem sequencial.

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

* O segundo script de carregamento contém:

  * Um segundo conjunto de dados com datas e valores em USD que é enviado para uma tabela denominada `Transactions_in_USD`.

  * O prefixo `noconcatenate` que é colocado antes da instrução de carregamento do conjunto de dados `Transactions_in_USD` para evitar a concatenação implícita.

* O terceiro script de carregamento contém o prefixo `join` que será usado para criar uma taxa de câmbio entre GBP e USD na tabela `Transactions_in_USD`.

* O quarto script de carregamento contém o prefixo `concatenate` que adicionará `Transactions_in_USD` à tabela inicial `Transactions`.

* O quinto script de carregamento contém a instrução `drop table` que removerá a tabela `Transactions_in_USD` cujos dados foram concatenados à tabela `Transactions`.

Primeiro script de carregamento

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

Resultados

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

* `id` `date` `amount`

Primeiros resultados do script de carregamento

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

A tabela mostra o conjunto de dados inicial com valores em GBP.

Segundo script de carregamento

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

Resultados

Carregue os dados e vá até a tabela.

Resultados do segundo script de carregamento

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

Você verá que o segundo conjunto de dados da tabela `Transactions_in_USD` foi adicionado.

Terceiro script de carregamento

Esse script de carregamento une uma taxa de câmbio de USD para GBP à tabela `Transactions_in_USD`.

```

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

Resultados

Carregue os dados e acesse o Visualizador do modelo de dados. Selecione a tabela `Transactions_in_USD`, e você verá que cada registro existente tem um valor de campo de “rate” de 0,7.

Quarto script de carregamento

Usando carregamento residente, esse script de carregamento concatenará a tabela `Transactions_in_USD` com a tabela `Transactions` depois de converter os valores em USD.

```

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

Resultados

Carregue os dados e vá até a tabela. Você verá novas entradas com valores em GBP das linhas de oito a quatorze.

Resultados do quarto script de carregamento

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

Quinto script de carregamento

Esse script de carregamento eliminará as entradas duplicadas da tabela de resultados do quarto script de carregamento, deixando apenas entradas com valores em GBP.

```

drop tables Transactions_in_USD;
```

Resultados

Carregue os dados e vá até a tabela.

Resultados do quinto script de carregamento

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

Após o carregamento do quinto script de carregamento, a tabela de resultados mostra todas as quatorze transações que existiam em ambos os conjuntos de dados de transações. No entanto, as transações de 8 a 14 tiveram seus valores convertidos em GBP.

Se removermos o prefixo NoConcatenate usado antes de Transactions\_in\_USD no segundo script de carregamento, o script falhará com o erro: “Tabela Transactions\_in\_USD não encontrada”. Isso ocorre porque a tabela Transactions\_in\_USD teria sido concatenada automaticamente com a tabela Transactions original.

## Saiba mais

* [Concatenando tabelas](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/concatenate-tables.htm)
* [Load](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)