# NoConcatenate

Med NoConcatenate-prefixet tvingas skriptet att behandla två inlästa tabeller med identiska fält som två separata interna tabeller. Annars skulle tabellerna konkateneras automatiskt.

Syntax:

NoConcatenate( loadstatement | selectstatement )

Om en tabell är laddad som innehåller ett identiskt antal fält och matchande fältnamn som en tabell som laddats tidigare i skriptet kommer Qlik Sense som standard att autokonkatenera de här två tabellerna. Detta kommer att ske även om den andra tabellen har ett annat namn.

Men om skriptprefixet `NoConcatenate` anges före load-satsen eller select-satsen i den andra tabellen kommer dessa två tabeller att laddas separat.

Ett typiskt användarfall för `NoConcatenate` är när du behöver skapa en tillfällig kopia av en tabell för att utföra någon tillfällig transformering på den kopian, samtidigt som du behåller eh en kopia av ursprungliga data. `NoConcatenate` säkerställer att du kan göra den kopian utan att implicit lägga till den tillbaka på källtabellen.

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

Funktionsexempel

| Exempel | Resultat |
| --- | --- |
| `Source:<br><br>								LOAD A,B from file1.csv;<br><br><br><br>							`` CopyOfSource:<br><br>								NoConcatenate<br><br>							LOAD A,B resident Source;   ` | En tabell med `A` och `B` som mått laddas. En andra tabell med samma fält laddas separat genom att använda `NoConcatenate`-variabeln. |

## Exempel 1 – implicit konkatenering

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

#### Laddningsskript och resultat

Översikt

I det här exemplet kommer du att lägga till två laddningsskript i ordningsföljd.

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En initial datauppsättning med datum och belopp som skickas till en tabell som heter `Transactions`.

Laddningsskript 1

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

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

Resultattabell 1

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

Laddningsskript 2

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En andra datauppsättning med identiska fält skickas till en tabell som heter `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 
]; 
```

Resultat

Ladda data och gå till tabellen.

Resultattabell 2

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

När skriptet körs konkateneras tabellen `Sales` implicit till den befintliga `Transactions`-tabellen på grund av att de två datauppsättningarna delar ett identiskt antal fält, med identiska fältnamn. Detta sker trots att den andra tabellens namntagg försöker ge den resulterande uppsättningen namnet `‘Sales’`.

Du kan se att datauppsättningen över försäljningen konkateneras implicit genom att titta på loggen över dataladdningsförloppet .

Logg över dataladdningsförlopp som visar transaktionsdata som konkateneras implicit.

Logg över dataladdningsförlopp som visar transaktionsdata som konkateneras implicit.

Logg över dataladdningsförlopp som visar transaktionsdata som konkateneras implicit.![Logg över dataladdningsförlopp som visar att transaktionstabellen har laddats två gånger.](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Resources/Images/dle_DataLoadProgressLog_NoConcatenate.png)

## Exempel 2 – scenario med användarfall

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

#### Laddningsskript och resultat

Översikt

I det här användarfallet har du:

* Eatauppsättning med transaktioner med:

  * id

  * date

  * belopp (i GBP)

* En valutatabell med:

  * Valutakurser för USD till GBP

* Ytterligare en datauppsättning med transaktioner med:

  * id

  * date

  * belopp (i USD)

Du kommer att ladda fem skript i ordningsföljd.

* Det första laddningsskriptet innehåller en initial datauppsättning med datum och belopp i GBP som skickas till en tabell som heter `Transactions`.

* Det andra laddningsskriptet innehåller:

  * Ytterligare en datauppsättning med datum och belopp i USD som skickas till en tabell som heter `Transactions_in_USD`.

  * Prefixet `noconcatenate` som är placerat före load-satsen i datauppsättningen `Transactions_in_USD` så att implicit konkatenering förhindras.

* Det tredje laddningsskriptet innehåller prefixet `join` som kommer att användas för att skapa en valutakurs mellan GBP och USD i tabellen `Transactions_in_USD`.

* Det fjärde laddningsskriptet innehåller prefixet `concatenate` som kommer att lägga till `Transactions_in_USD` i den initiala tabellen `Transactions`.

* Det femte laddningsskriptet innehåller prefixet `drop table` som kommer att ta bort `Transactions_in_USD` i den initiala tabellen `Transactions`.

Laddningsskript 1

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `id``date``amount`

Resultat från laddningsskript 2

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

Tabellen visar den initiala datauppsättningen med belopp i GBP.

Laddningsskript 2

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

Resultat

Ladda data och gå till tabellen.

Resultat för det andra laddningsskriptet

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

Du kommer att se att den andra datauppsättningen från `Transactions_in_USD`-tabellen har lagts till.

Laddningsskript 3

Det här laddningsskriptet kopplar en valutakurs från USD till GBP till `Transactions_in_USD`-tabellen.

```

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

Resultat

Ladda data och gå till datamodellvyn. Välj `Transactions_in_USD`-tabellen så kommer du att se att alla befintliga poster har ett "kurs"-värde på 0,7.

Laddningsskript 4

Genom att använda resident load kommer det här laddningsskriptet att konkatenera `Transactions_in_USD`-tabellen till `Transactions`-tabellen efter att beloppen har konverterats till USD.

```

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

Resultat

Ladda data och gå till tabellen. Du kommer att se nya poster med belopp i GBP från raderna åtta till fjorton.

Resultat från laddningsskript 4

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

Laddningsskript 5

Det här laddningsskriptet kommer att släppa dubblerade poster från det fjärde laddningsskriptets resultattabell. På så sätt kommer bara poster med belopp i GBP att återstå.

```

drop tables Transactions_in_USD;
```

Resultat

Ladda data och gå till tabellen.

Resultat från laddningsskript 5

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

När det femte laddningsskriptet har laddats visar resultattabellen alla fjorton transaktioner som fanns i båda datauppsättningarna med transaktioner, men beloppen i transaktionerna 8–14 har konverterats till GBP.

Om vi tar bort prefixet NoConcatenate som användes före Transactions\_in\_USD i det andra laddningsskriptet kommer skriptet att misslyckas och felet “Tabell "Transactions\_in\_USD" visas. Detta beror på att Transactions\_in\_USD-tabellen skulle ha autokonkatenerats till den ursprungliga Transactions-tabellen.

## Mer information

* [Konkatenera tabeller](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/LoadData/concatenate-tables.htm)
* [Load](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)