Replace
Prefixet Replace kan adderas till valfri LOAD- eller SELECT-sats i skriptet för att specificera att den laddade tabellen ska ersätta en annan tabell. Det specificerar även att satsen ska köras i en delvis laddning. Replace-prefixet kan även användas i en Map-sats.
Syntax:
Replace[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Replace[only]mapstatement
Under en vanlig (icke-delvis) laddning fungerar konstruktionen ReplaceLOAD som en vanlig LOAD-sats, men den föregås av en DropTable. Först utgår den gamla tabellen, och sedan genereras posterna och lagras som en ny tabell.
Om prefixet Concatenate används, eller om det finns en tabell med samma fältuppsättning, blir detta tabellen som utgår. Annars finns det ingen tabell som ska utgå och konstruktionen ReplaceLOAD är exakt samma som en vanlig LOAD.
Samma sak sker vid en delvis laddning. Den enda skillnaden är att det alltid finns en tabell från den föregående exekveringen som ska utgå. Konstruktionen ReplaceLOAD börjar alltid med att den gamla tabellen utgår, och sedan skapas en ny.
Om Replace 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: Replace LOAD * from File1.csv; |
Under både normal och partiell laddning utgår QlikView-tabellen Tab1 inledningsvis. Sedan läses nya data in från File1.csv och lagras i Tab1. |
Tab1: Replace only LOAD * from File1.csv; |
Vid vanlig laddning beaktas inte denna sats. Vid partiell laddning utgår alla QlikView-tabeller som tidigare hette Tab1inledningsvis. Sedan läses nya data in från File1.csv och lagras i Tab1. |
Tab1: LOAD a,b,c from File1.csv; Replace LOAD a,b,c from File2.csv; |
Vid vanlig laddning läses filen File1.csv först in i QlikView-tabellen Tab1, men utgår sedan omedelbart och ersätts av nya data från File2.csv. Alla data från File1.csv går förlorade. Under normal och partiell laddning utgår hela QlikView-tabellen Tab1 inledningsvis. Den ersätts därefter av nya data från File2.csv. |
Tab1: LOAD a,b,c from File1.csv; Replace only LOAD a,b,c from File2.csv; |
Vid normal laddning läses data från File1.csv och lagras i QlikView-tabellen Tab1. File2.csv beaktas ej. Under normal och partiell laddning utgår hela QlikView-tabellen Tab1 inledningsvis. Den ersätts därefter av nya data från File2.csv. Alla data från File1.csv går förlorade. |