# Częściowe ładowanie

Pełne ładowanie zawsze rozpoczyna się od usunięcia wszystkich tabel w istniejącym modelu danych, a następnie uruchamiany jest skrypt ładowania.

Inaczej jest w przypadku częściowego ładowania. Zamiast tego zachowuje ono w modelu danych wszystkie tabele, a następnie wykonuje tylko instrukcje Load i Select poprzedzone prefiksem Add, Merge lub Replace. Polecenie to nie wpływa na inne tabele danych. Argument only oznacza, że instrukcja powinna być wykonywana tylko podczas częściowego ładowania i pomijana podczas pełnego ładowania. W poniższej tabeli podsumowano wykonanie instrukcji dla częściowego i pełnego ładowania.

| Instrukcja | Pełne ładowanie | Częściowe ładowanie |
| --- | --- | --- |
| Load ... | Instrukcja zostanie uruchomiona | Instrukcja nie zostanie uruchomiona |
| Ładowanie z instrukcjami Add/Replace/Merge... | Instrukcja zostanie uruchomiona | Instrukcja zostanie uruchomiona |
| Ładowanie z instrukcjami Add/Replace/Merge Only... | Instrukcja nie zostanie uruchomiona | Instrukcja zostanie uruchomiona |

Częściowe ładowanie ma w porównaniu z pełnym kilka zalet:

* Jest szybsze, ponieważ wystarczy załadować tylko ostatnio zmienione dane. Przy dużych zestawach danych różnica jest znacząca.

* Wykorzystuje się mniej pamięci, ponieważ ładuje się mniej danych.

* Jest bardziej niezawodne, ponieważ zapytania wysyłane do danych źródłowych działają szybciej, co zmniejsza ryzyko problemów z siecią.

InformacjaAby częściowe ładowanie działało poprawnie, aplikacja musi zostać otwarta z danymi przed jego uruchomieniem.

Wykonaj częściowe ładowanie za pomocą przycisku Ładuj. Więcej informacji zawiera temat [Przycisk](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Visualizations/Button/button.htm). Możesz także użyć Qlik Engine JSON API.

## Ograniczenia

Częściowe przeładowanie nie powiedzie się, jeśli będą występować polecenia z odniesieniami do tabel, które istniały podczas pełnego przeładowania, ale nie podczas częściowego.

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

#### Przykład

### Przykładowe polecenia

```
LEFT JOIN(<Table_removed_after_full_reload>)
```

```
CONCATENATE(<Table_removed_after_full_reload>)
```

Gdzie &lt;Table\_removed\_after\_full\_reload&gt; to tabela, która istniała przy pełnym, ale nie przy częściowym przeładowaniu.

### Obejście

Jako obejście tego problemu możesz otoczyć polecenie następującą instrukcją if:

```
IF NOT IsPartialReload() THEN ... ENDIF.
```

Operacja częściowego ładowania może usunąć wartości z danych. Nie zostanie to jednak odzwierciedlone na liście wartości odrębnych, która jest tabelą obsługiwaną wewnętrznie. Zatem po wykonaniu operacji częściowego przeładowania lista będzie zawierać wszystkie wartości odrębne, które istniały w polu od ostatniego pełnego przeładowania Może być ich więcej niż istnieje obecnie po częściowym przeładowaniu. Ma to wpływ na wyniki funkcji FieldValueCount() i FieldValue(). Funkcja FieldValueCount() teoretycznie może zwrócić liczbę większą niż aktualna liczba wartości pól.

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

#### Przykład

## Przykład 1:

### Skrypt ładowania

Dodaj przykładowy skrypt do swojej aplikacji i wykonaj częściowe ładowanie. Aby zobaczyć wynik, dodaj pola wymienione w kolumnie wyników do arkusza w swojej aplikacji.

```
T1:
Add only Load distinct recno()+10 as Num autogenerate 10;      
```

### Wynik

Resulting table

| Num | Count(Num) |
| --- | --- |
| 11 | 1 |
| 12 | 1 |
| 13 | 1 |
| 14 | 1 |
| 15 | 1 |
| 16 | 1 |
| 17 | 1 |
| 18 | 1 |
| 19 | 1 |
| 20 | 1 |

### Objaśnienie

Instrukcja jest wykonywana tylko podczas częściowego ładowania. Jeśli prefiks „distinct” zostanie pominięty, liczba w polu Num będzie się zwiększać z każdym kolejnym częściowym ładowaniem.

## Przykład 2

### Skrypt ładowania

Dodaj przykładowy skrypt do swojej aplikacji. Wykonaj pełne ładowanie i zobacz wynik. Następnie wykonaj częściowe ładowanie i zobacz wynik. Aby zobaczyć wyniki, dodaj pola wymienione w kolumnie wyników do arkusza w swojej aplikacji.

```

T1:
Load recno() as ID, recno() as Value autogenerate 10;

T1:
Replace only Load recno() as ID, repeat(recno(),3) as Value autogenerate 10; 
```

### Wynik

Output table after full reload

| ID | Value |
| --- | --- |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | 10 |

Output table after partial reload

| ID | Value |
| --- | --- |
| 1 | 111 |
| 2 | 222 |
| 3 | 333 |
| 4 | 444 |
| 5 | 555 |
| 6 | 666 |
| 7 | 777 |
| 8 | 888 |
| 9 | 999 |
| 10 | 101010 |

### Objaśnienie

Pierwsza tabela jest ładowana podczas pełnego ładowania, a druga tabela po prostu zastępuje pierwszą tabelę podczas częściowego ładowania.

[Load](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

[Select](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)

[Add](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Add.htm)

[Scal](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Merge.htm)

[Replace](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Replace.htm)