Add
Add-prefixet kan adderas till valfri LOAD- eller SELECT-sats i skriptet för att specificera att det ska lägga till poster i en annan tabell. Det specificerar även att satsen ska köras i en delvis laddning. Add-prefixet kan även användas i en Map-sats.
Syntax:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
Under en vanlig (icke-delvis) laddning fungerar konstruktionen AddLOAD som en vanlig LOAD-sats. Poster genereras och lagras i en tabell.
Om prefixet Concatenate används, eller om det finns en tabell med samma fältuppsättning, läggs posterna till i den befintliga tabellen. Annars skapar konstruktionen AddLOAD en ny tabell.
Samma sak sker vid en delvis laddning. Den enda skillnaden är att konstruktionen AddLOAD aldrig skapar en ny tabell. Det finns alltid en relevant tabell från föregående skriptexekvering där posterna ska läggas till.
Ingen kontroll av dubbletter kommer att genomföras. En sats som föregås av Add-prefixet innehåller därför ofta en distinct-kvalificerare eller en where-sats som hindrar förekomsten av dubbletter.
Om Add Map...Using-satsen används utförs mappningen även vid partiell skriptexekvering.
Argument:
Argument | Beskrivning |
---|---|
only | En valfri kvalificerare som innebär att satsen inte ska beaktas vid vanliga (icke-partiella) laddningar. |
Exempel och resultat:
Exempel | Resultat |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
Vid normal laddning läses data från Persons.csv och lagras i QlikView-tabellen Tab1. Därefter konkateneras data från NewPersons.csv med samma QlikView-tabell. Vid partiell laddning läses data från NewPersons.csv och läggs till i QlikView-tabellen Tab1. Ingen kontroll av dubbletter genomförs. |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
En kontroll av eventuella dubbletter görs genom att se om Name finns i tidigare inläst tabelldata (se funktionen exists under postöverskridande funktioner). Vid normal laddning läses data från Persons.csv och lagras i QlikView-tabellen Tab1. Därefter konkateneras data från NewPersons.csv med samma QlikView-tabell. Vid partiell laddning läses data från NewPersons.csv och läggs till i QlikView-tabellen Tab1. Genom att kontrollera om Name existerar i tidigare inlästa tabelldata genomförs en kontroll av dubbletter. |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
Vid normal laddning läses data från Persons.csv och lagras i QlikView-tabellen Tab1. Satsen som läser NewPersons.csv beaktas ej. Vid partiell laddning läses data från NewPersons.csv och läggs till i QlikView-tabellen Tab1. Genom att kontrollera om Name existerar i tidigare inlästa tabelldata genomförs en kontroll av dubbletter. |