Add
O prefixo Add pode ser incluído em qualquer comando LOAD ou SELECT no script para especificar que deve adicionar registros a outra tabela. Ele também especifica que esse comando deve ser executado em um carregamento parcial. O prefixo Add também pode ser usado em um comando Map.
Sintaxe:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
Durante um carregamento normal (não parcial), a construção Add LOAD funcionará como um comando LOAD normal. Registros serão gerados e armazenados em uma tabela.
Se o prefixo Concatenate for usado, ou se existir uma tabela com o mesmo conjunto de campos, os registros serão anexados à tabela existente relevante. Caso contrário, a construção Add LOAD criará uma nova tabela.
Um carregamento parcial fará o mesmo. A única diferença é que a construção Add LOAD nunca criará uma nova tabela. Sempre existe uma tabela relevante da execução do script anterior à qual os registros devem ser anexados.
Não é feita a verificação de duplicatas. Portanto, um comando usando o prefixo Add geralmente incluirá um qualificador distinto ou uma cláusula where contra duplicatas.
O comando Add Map...Using faz com que o mapeamento ocorra também durante a execução parcial do script.
Argumentos:
Argumento | Descrição |
---|---|
only | Um qualificador opcional que indica que o comando deve ser desconsiderado durante as recargas normais (não parciais). |
Exemplos e resultados:
Exemplo | Resultado |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
Durante uma recarga normal, os dados são carregados de Persons.csv e armazenados na tabela Tab1 do QlikView. Os dados de NewPersons.csv são concatenados com a mesma tabela do QlikView. Durante uma recarga parcial, os dados são carregados de NewPersons.csv e anexados à tabela Tab1 do QlikView. Não é feita a verificação de duplicatas. |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
É realizada uma checagem de duplicatas verificando se Name existe nos dados da tabela carregada anteriormente (consulte a função exists em Funções inter-registro). Durante uma recarga normal, os dados são carregados de Persons.csv e armazenados na tabela Tab1 do QlikView. Os dados de NewPersons.csv são concatenados com a mesma tabela do QlikView. Durante uma recarga parcial, os dados são carregados de NewPersons.csv e anexados à tabela Tab1 do QlikView. É realizada uma busca por duplicatas por meio da verificação da existência de Name nos dados da tabela carregada anteriormente. |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
Durante uma recarga normal, os dados são carregados de Persons.csv e armazenados na tabela Tab1 do QlikView. O comando que carrega NewPersons.csv é ignorado. Durante uma recarga parcial, os dados são carregados de NewPersons.csv e anexados à tabela Tab1 do QlikView. É realizada uma busca por duplicatas por meio da verificação da existência de Name nos dados da tabela carregada anteriormente. |