Add
The Add prefix can be added to any LOAD or SELECT statement in the script to specify that it should add records to another table. It also specifies that this statement should be run in a partial reload. The Add prefix can also be used in a Map statement.
Syntax:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
During a normal (non-partial) reload, the AddLOAD construction will work as a normal LOAD statement. Records will be generated and stored in a table.
If the Concatenate prefix is used, or if there exists a table with the same set of fields, the records will be appended to the relevant existing table. Otherwise, the AddLOAD construction will create a new table.
A partial reload will do the same. The only difference is that the AddLOAD construction will never create a new table. There always exists a relevant table from the previous script execution to which the records should be appended.
No check for duplicates is performed. Therefore, a statement using the Add prefix will often include either a distinct qualifier or a where clause guarding duplicates.
The Add Map...Using statement causes mapping to take place also during partial script execution.
Arguments:
Argument | Description |
---|---|
only | An optional qualifier denoting that the statement should be disregarded during normal (non-partial) reloads. |
Examples and results:
Example | Result |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
During normal reload, data is loaded from Persons.csv and stored in the QlikView table Tab1. Data from NewPersons.csv is then concatenated to the same QlikView table. During partial reload, data is loaded from NewPersons.csv and appended to the QlikView table Tab1. No check for duplicates is made. |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
A check for duplicates is made by means of looking if Name exists in the previously loaded table data (see the function exists under inter-record functions). During normal reload, data is loaded from Persons.csv and stored in the QlikView table Tab1. Data from NewPersons.csv is then concatenated to the same QlikView table. During partial reload, data is loaded from NewPersons.csv which is appended to the QlikView table Tab1. A check for duplicates is made by means of seeing if Name exists in the previously loaded table data. |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
During normal reload, data is loaded from Persons.csv and stored in the QlikView table Tab1. The statement loading NewPersons.csv is disregarded. During partial reload, data is loaded from NewPersons.csv which is appended to the QlikView table Tab1. A check for duplicates is made by means of seeing if Name exists in the previously loaded table data. |