Add
Il prefisso Add può essere aggiunto a qualsiasi istruzione LOAD o SELECT nello script per specificare che dovrebbe aggiungere record a un'altra tabella. Specifica anche che questa istruzione dovrebbe essere eseguita in un ricaricamento parziale. Il prefisso Add può essere usato anche in un'istruzione Map.
Sintassi:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
Durante un normale ricaricamento (non parziale), la costruzione AddLOAD funzionerà come una normale istruzione LOAD. I record verranno generati e archiviati in una tabella.
Se viene utilizzato il prefisso Concatenate, o se esiste una tabella con lo stesso set di campi, i record verranno aggiunti alla tabella esistente pertinente. In caso contrario, la costruzione AddLOAD creerà una nuova tabella.
Un ricaricamento parziale darà lo stesso risultato. L'unica differenza è che la costruzione AddLOAD non creerà mai una nuova tabella. Esisterà sempre una tabella rilevante dall'esecuzione dello script precedente a cui dovranno essere aggiunti i record.
Non viene eseguito alcun controllo di duplicati. Di conseguenza, un'istruzione che utilizza il prefisso Add includerà spesso un qualificatore distinct o una clausola where per il controllo dei duplicati.
L'istruzione Add Map...Using determina l'esecuzione del mapping anche durante l'esecuzione parziale dello script.
Argomenti:
Argomento | Descrizione |
---|---|
only | Un qualificatore opzionale che indica che l'istruzione deve essere ignorata durante il ricaricamento normale (non parziale). |
Esempi e risultati:
Esempio | Risultato |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
Durante il ricaricamento normale, i dati vengono caricati dal file Persons.csv e memorizzati nella tabella di QlikView Tab1. I dati in NewPersons.csv vengono quindi concatenati alla stessa tabella QlikView. Durante il ricaricamento parziale, i dati vengono caricati dal file NewPersons.csv e aggiunti alla tabella di QlikView Tab1. Non viene eseguito alcun controllo di duplicati. |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
Viene eseguito un controllo di duplicati che verifica l'esistenza di Name nei dati della tabella precedentemente caricata (vedere la funzione exists in funzioni intra-record). Durante il ricaricamento normale, i dati vengono caricati dal file Persons.csv e memorizzati nella tabella di QlikView Tab1. I dati in NewPersons.csv vengono quindi concatenati alla stessa tabella QlikView. Durante il ricaricamento parziale, i dati vengono caricati dal file NewPersons.csv, che viene aggiunto alla tabella QlikView Tab1. Viene eseguito un controllo di duplicati che verifica l'esistenza di Name nei dati della tabella precedentemente caricata. |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
Durante il ricaricamento normale, i dati vengono caricati dal file Persons.csv e memorizzati nella tabella di QlikView Tab1. L'istruzione che carica NewPersons.csv viene ignorata. Durante il ricaricamento parziale, i dati vengono caricati dal file NewPersons.csv, che viene aggiunto alla tabella QlikView Tab1. Viene eseguito un controllo di duplicati che verifica l'esistenza di Name nei dati della tabella precedentemente caricata. |