# Caricamento parziale

Un ricaricamento completo inizia sempre eliminando tutte le tabelle nel modello dati esistente, dopodiché esegue lo script di caricamento.

Con un caricamento parziale questo non è possibile. Mantiene invece tutte le tabelle nel modello dati ed esegue solo le istruzioni Load e Select precedute da un prefisso Aggiungi, Unisci o Sostituisci. Altre tabelle di dati non sono interessate dal comando. L'argomento solo indica che l'istruzione deve essere eseguita solo durante i caricamenti parziali e deve essere ignorata durante i caricamenti completi. La tabella seguente riepiloga l'esecuzione dell'istruzione per i ricaricamenti parziali e completi.

| Istruzione | Ricaricamento completo | Caricamento parziale |
| --- | --- | --- |
| Load ... | Verrà eseguita l'istruzione | Non verrà eseguita l'istruzione |
| Aggiungi/Sostituisci/Unisci LOAD... | Verrà eseguita l'istruzione | Verrà eseguita l'istruzione |
| Aggiungi/Sostituisci/Unisci solo LOAD... | Non verrà eseguita l'istruzione | Verrà eseguita l'istruzione |

I ricaricamenti parziali comportano svariati benefici rispetto ai ricaricamenti completi:

* Sono più rapidi, perché solo i dati modificati di recente devono essere caricati. Con grandi set di dati la differenza è considerevole.

* Viene consumata meno memoria, visto che vengono caricati meno dati.

* Aumenta l'affidabilità, dato che le query ai dati sorgente vengono eseguite più rapidamente, riducendo il rischio di problemi di rete.

Nota informaticaAffinché il ricaricamento parziale funzioni correttamente, l'applicazione deve essere aperta con i dati prima che venga attivato un ricaricamento parziale.

Eseguire un ricaricamento parziale usando il pulsante Ricarica. Per ulteriori informazioni, vedere [Pulsante](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Visualizations/Button/button.htm). È anche possibile utilizzare Qlik Engine JSON API.

## Limitazioni

Un ricaricamento parziale non verrà completato correttamente se vi sono comandi con riferimento alle tabelle che sono esistite durante il ricaricamento completo ma non durante il ricaricamento parziale.

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

#### Esempio

### Comandi di esempio

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

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

Dove &lt;Table\_removed\_after\_full\_reload&gt; è una tabella che esisteva nel ricaricamento completo, ma non nel ricaricamento parziale.

### Soluzione

Come soluzione il comando può essere racchiuso dalla seguente istruzione if:

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

Un ricaricamento parziale può rimuovere valori dai dati. Tuttavia, ciò non verrà riflesso nell'elenco dei valori distinti, che rappresenta una tabella mantenuta internamente. Pertanto, dopo un ricaricamento parziale, l'elenco conterrà tutti i valori distinti esistiti nel campo dall'ultimo ricaricamento completo, che potrebbero essere superiori a quanto attualmente esistente dopo il ricaricamento parziale. Ciò influisce sull'output delle funzioni FieldValueCount() e FieldValue(). Il valore FieldValueCount() potrebbe potenzialmente restituire un numero superiore al numero corrente di valori di campo.

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

#### Esempio

## Esempio 1

### Script di caricamento

Aggiungere lo script di esempio alla propria applicazione ed eseguire un ricaricamento parziale. Per visualizzare il risultato, aggiungere i campi elencati nella colonna dei risultati a un foglio nella propria applicazione.

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

### Risultato

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 |

### Spiegazione

L'istruzione viene eseguita solo durante un ricaricamento parziale. Se il prefisso "distinto" viene omesso, il conteggio del campo Num aumenterà con ciascun ricaricamento parziale successivo.

## Esempio 2

### Script di caricamento

Aggiungere lo script di esempio alla propria applicazione. Eseguire un ricaricamento completo e visualizzare il risultato. Quindi, eseguire un ricaricamento parziale e visualizzare il risultato. Per visualizzare i risultati, aggiungere i campi elencati nella colonna dei risultati a un foglio nella propria applicazione.

```

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

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

### Risultato

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 |

### Spiegazione

La prima tabella viene caricata durante un ricaricamento completo, mentre la seconda tabella sostituisce semplicemente la prima tabella durante un ricaricamento parziale.

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

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

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

[Unisci](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Merge.htm)

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