# NoConcatenate

Prefiks NoConcatenate wymusza traktowanie dwóch załadowanych tabel z identycznym zestawem pól jako dwóch oddzielnych tabel wewnętrznych, podczas gdy w przeciwnym wypadku automatycznie zostałaby wobec nich zastosowana konkatenacja.

Składnia:

NoConcatenate( loadstatement | selectstatement )

Domyślnie, jeśli do wcześniej załadowanej do skryptu tabeli zostanie załadowana tabela zawierająca identyczną liczbę pól o takich samych nazwach, to Qlik Sense automatycznie połączy te tabele. Stanie się tak nawet wtedy, gdy druga tabela będzie miała inną nazwę.

Jeśli jednak przed instrukcją LOAD lub przed instrukcją select drugiej tabeli zostanie dodany prefiks skryptu `NoConcatenate`, to tabele zostaną załadowane osobno.

Typowym przypadkiem użycia `NoConcatenate` jest sytuacja, gdy chcemy utworzyć tymczasową kopię tabeli w celu wykonania na tej kopii pewnych tymczasowych przekształceń, zachowując oryginalne dane. Prefiks `NoConcatenate` zapobiegnie niejawnemu dodaniu tej kopii do tabeli źródłowej.

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/RRRR. Format daty jest określony w instrukcji `SET DateFormat` w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów.

Domyślne ustawienia regionalne w aplikacjach są oparte na regionalnych ustawieniach systemu komputera lub serwera, na którym zainstalowano Qlik Sense. Jeśli serwer Qlik Sense, do którego uzyskujesz dostęp, jest ustawiony na Szwecję, Edytor ładowania danych użyje szwedzkich ustawień regionalnych dla dat, godziny i waluty. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Sense. Interfejs Qlik Sense będzie wyświetlany w tym samym języku co używana przeglądarka.

Przykład funkcji

| Przykład | Wynik |
| --- | --- |
| `Source:<br><br>								LOAD A,B from file1.csv;<br><br><br><br>							`` CopyOfSource:<br><br>								NoConcatenate<br><br>							LOAD A,B resident Source;   ` | Została załadowana tabela z `A` i `B` jako miarami. Druga tabela z takimi samymi polami została załadowana osobno przy użyciu zmiennej `NoConcatenate`. |

## Przykład 1 – Konkatenacja niejawna

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

#### Skrypt ładowania i wyniki

Przegląd

W tym przykładzie dodamy dwa skrypty ładowania po kolei.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Początkowy zestaw danych zawierający daty i kwoty, który został wysłany do tabeli o nazwie `Transactions`.

Pierwszy skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

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

Pierwsza tabela wyników

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

Drugi skrypt ładowania

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Drugi zestaw danych z identycznymi polami został wysłany do tabeli `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 
]; 
```

Wyniki

Załaduj dane i przejdź do tabeli.

Druga tabela wyników

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

Kiedy skrypt zostanie uruchomiony, tabela `Sales` zostanie niejawnie dołączona do istniejącej tabeli `Transactions`, ponieważ oba zestawy danych mają identyczną liczbę pól o takich samym nazwach. Dzieje się tak mimo tego, że znacznik nazwy drugiej tabeli próbuje nadać zestawowi wynikowemu nazwę `‘Sales’`.

Aby przekonać się, że zestaw danych Sales został niejawnie dołączony, można zajrzeć do dziennika postępu ładowania danych.

Dziennik postępu ładowania danych pokazujący niejawnie dołączone dane z tabeli Transactions.

Dziennik postępu ładowania danych pokazujący niejawnie dołączone dane z tabeli Transactions.

Dziennik postępu ładowania danych pokazujący niejawnie dołączone dane z tabeli Transactions.![Dziennik postępu ładowania danych pokazujący, że tabela Transactions została załadowana dwa razy.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/dle_DataLoadProgressLog_NoConcatenate.png)

## Przykład 2 – Przypadek użycia

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

#### Skrypt ładowania i wyniki

Przegląd

W tym przypadku mamy następujące elementy:

* Zestaw danych transakcji zawierający:

  * id

  * date

  * amount (w GBP)

* Tabela walut zawierająca:

  * Kursy wymiany USD na GBP

* Drugi zestaw danych transakcji:

  * id

  * date

  * amount (w USD)

Załadujemy pięć skryptów po kolei.

* Pierwszy skrypt ładowania zawiera początkowy zestaw danych zawierający daty i kwoty w GBP, który został wysłany do tabeli o nazwie `Transactions`.

* Drugi skrypt ładowania zawiera następujące elementy:

  * Drugi zestaw danych zawierający daty i kwoty w USD, który został wysłany do tabeli o nazwie `Transactions_in_USD`.

  * Prefiks `noconcatenate`, który został umieszczony przed instrukcją LOAD zestawu danych `Transactions_in_USD`, aby zapobiec niejawnej konkatenacji.

* Trzeci skrypt ładowania zawiera prefiks `join`, który zostanie użyty w celu utworzenia kursu wymiany walut między walutami GBP i USD w tabeli `Transactions_in_USD`.

* Czwarty skrypt ładowania zawiera prefiks `concatenate`, który doda `Transactions_in_USD` do początkowej tabeli `Transactions`.

* Piąty skrypt ładowania zawiera instrukcję `drop table`, która usunie tabelę `Transactions_in_USD` po dodaniu jej danych do tabeli `Transactions`.

Pierwszy skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `id``date``amount`

Wyniki pierwszego skryptu ładowania

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

Tabela przedstawia pierwszy zestaw danych z kwotami w GBP.

Drugi skrypt ładowania

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

Wyniki

Załaduj dane i przejdź do tabeli.

Wyniki drugiego skryptu ładowania

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

Zauważysz, że drugi zestaw danych z tabeli `Transactions_in_USD` został dodany.

Trzeci skrypt ładowania

Ten skrypt ładowania łączy kurs wymiany walut z USD na GBP z tabelą `Transactions_in_USD`.

```

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

Wyniki

Załaduj dane i przejdź do przeglądarki modelu danych. Wybierz tabelę `Transactions_in_USD`, aby zobaczyć, że każdy rekord ma pole „rate” o wartości 0,7.

Czwarty skrypt ładowania

Ten skrypt ładowania, wykorzystujący instrukcję LOAD z predykatem Resident, dołączy tabelę `Transactions_in_USD` do tabeli `Transactions` po wymianie kwot na USD.

```

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

Wyniki

Załaduj dane i przejdź do tabeli. Zobaczysz nowe pozycje z kwotami w GBP w wierszach od ósmego do czternastego.

Wyniki czwartego skryptu ładowania

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

Piąty skrypt ładowania

Ten skrypt ładowania usunie duplikaty pozycji z tabeli wyników czwartego skryptu ładowania, pozostawiając tylko pozycje z kwotami w GBP.

```

drop tables Transactions_in_USD;
```

Wyniki

Załaduj dane i przejdź do tabeli.

Wyniki piątego skryptu ładowania

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

Po załadowaniu piątego skryptu ładowania, tabela wyników pokazuje wszystkie czternaście transakcji, które znajdowały się w obu zestawach danych transakcji. Jednak w przypadku transakcji 8-14 nastąpiła wymiana waluty na GBP.

Jeśli usuniemy prefiks NoConcatenate, który został użyty przed Transactions\_in\_USD w drugim skrypcie ładowania, skrypt spowoduje następujący błąd: „Table 'Transactions\_in\_USD' not found”. Stałoby się tak, ponieważ tabela Transactions\_in\_USD zostałaby automatycznie dołączona do oryginalnej tabeli Transactions.

## Dowiedz się więcej

* [Konkatenowanie tabel](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/LoadData/concatenate-tables.htm)
* [Load](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)