A full reload always starts by deleting all tables in the existing data model, and then runs the load script.
A partial reload will not do this. Instead it keeps all tables in the data model and then executes only Load and Select statements preceded by an Add, Merge, or Replace prefix. Other data tables are not affected by the command. The only argument denotes that the statement should be executed only during partial reloads, and should be disregarded during full reloads. The following table summarizes statement execution for partial and full reloads.
Statement
Full reload
Partial reload
Load ...
Statement will run
Statement will not run
Add/Replace/Merge Load ...
Statement will run
Statement will run
Add/Replace/Merge Only Load ...
Statement will not run
Statement will run
Partial reloads have several benefits compared to full reloads:
Faster, because only data recently changed needs to be loaded. With large data sets the difference is significant.
Less memory is consumed, because less data is loaded.
More reliable, because queries to source data run faster, reducing the risk of network problems.
Information notePartial reload is supported by using the Qlik Engine JSON API, or the Reload button. For more information about the Reload button, see Button.
Example 1
Load script
Add the example script to your app and do a partial reload. To see the result, add the fields listed in the results column to a sheet in your app.
T1:
Add only Load distinct recno()+10 as Num autogenerate 10;
Result
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
Explanation
The statement is only executed during a partial reload. If the "distinct" prefix is omitted, the count of the Num field will increase
with each subsequent partial reload.
Example 2
Load script
Add the example script to your app. Do a full reload and view the result. Next, do a partial reload and view the result. To see the results, add the fields listed in the results column to a sheet in your app.
T1:
Load recno() as ID, recno() as Value autogenerate 10;
T1:
Replace only Load recno() as ID, repeat(recno(),3) as Value autogenerate 10;
Result
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
Explanation
The first table is loaded during a full reload and the second table simply replaces the first table during a partial reload.