Add
Префикс Add может быть добавлен к любому оператору LOAD или SELECT в скрипте для указания, что он должен добавлять записи в другую таблицу. Он также указывает, что этот оператор следует выполнять в частичной перезагрузке. Префикс Add может также использоваться в операторе Map.
Синтаксис:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
При обычной (нечастичной) перезагрузке конструкция AddLOAD будет работать как обычный оператор LOAD. Записи будут создаваться и храниться в таблице.
Если используется префикс Concatenate или существует таблица с тем же набором полей, записи будут добавлены к соответствующей существующей таблице. В противном случае конструкция AddLOAD создаст новую таблицу.
Частичная перезагрузка сделает то же самое. Единственное отличие заключается в том, что конструкция AddLOAD никогда не будет создавать новую таблицу. Всегда существует соответствующая таблица из предыдущего выполнения скрипта, к которой должны быть добавлены записи.
Проверка дубликатов не выполняется. Таким образом, оператор, использующий префикс Add будет часто включать в себя квалификатор distinct или защитные дубликаты выражения where.
Оператор Add Map...Using запускает сопоставление данных также и во время частичного выполнения скрипта.
Аргументы:
Аргумент | Описание |
---|---|
only | Дополнительный классификатор, указывающий на то, что оператор следует игнорировать в ходе нормальной (не частичной) перезагрузки. |
Примеры и результаты:
Пример | Результат |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
Во время обычной перезагрузки данные загружаются из файла Persons.csv и сохраняются в таблице QlikView Tab1. Затем данные из файла NewPersons.csv объединяются с той же таблицей QlikView. Во время частичной перезагрузки данные загружаются из файла NewPersons.csv и сохраняются в таблице QlikView Tab1. Проверка дубликатов не выполняется. |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
Проверка дубликатов выполняется путем проверки наличия элемента Name в ранее загруженных табличных данных (см. функцию exists в разделе функций между записями). Во время обычной перезагрузки данные загружаются из файла Persons.csv и сохраняются в таблице QlikView Tab1. Затем данные из файла NewPersons.csv объединяются с той же таблицей QlikView. Во время частичной перезагрузки данные загружаются из файла NewPersons.csv, который добавляется к таблице QlikView Tab1. Проверка дубликатов выполняется путем проверки наличия Name в ранее загруженных табличных данных. |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
Во время обычной перезагрузки данные загружаются из файла Persons.csv и сохраняются в таблице QlikView Tab1. Оператор загрузки NewPersons.csv игнорируется. Во время частичной перезагрузки данные загружаются из файла NewPersons.csv, который добавляется к таблице QlikView Tab1. Проверка дубликатов выполняется путем проверки наличия Name в ранее загруженных табличных данных. |