Replace
het voorvoegsel Replace kan aan elke LOAD- of SELECT-opdracht in het script worden toegevoegd om op te geven dat de geladen tabel een andere tabel moet vervangen. Dit geeft ook aan dat deze opdracht met behulp van gedeeltelijk laden moet worden uitgevoerd. Het voorvoegsel Replace kan ook worden gebruikt in een Map-opdracht.
Syntaxis:
Replace[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Replace[only]mapstatement
Tijdens een normale (niet-gedeeltelijk) lading, werkt de constructie ReplaceLOAD als een normale LOAD-opdracht, maar wordt deze voorafgegaan door een DropTable. Eerst wordt de oude tabel verwijderd en vervolgens worden de records gegenereerd en opgeslagen als een nieuwe tabel.
Als de prefix Concatenate wordt gebruikt, of als er een tabel met dezelfde verzameling velden aanwezig is, wordt dit de relevante tabel die kan worden verwijderd. Anders is er geen tabel om te verwijderen en de constructie ReplaceLOAD zal in dat geval identiek zijn aan een normale LOAD.
Bij een gedeeltelijke lading gebeurt hetzelfde. Het enige verschil is dat er altijd een tabel uit de vorige uitvoering van het script is die kan worden verwijderd. Bij de constructie ReplaceLOAD wordt altijd de eerste oude tabel verwijderd en vervolgens wordt er een nieuwe tabel gemaakt.
De opdracht Replace Map...Using zorgt ervoor dat de toewijzing ook plaatsvindt als het script gedeeltelijk wordt uitgevoerd.
Argumenten:
Argument | Beschrijving |
---|---|
only | Een optionele kwalificatie die aangeeft dat de opdracht moet worden genegeerd tijdens het normaal (niet gedeeltelijk) opnieuw laden van gegevens. |
Voorbeelden en resultaten:
Voorbeeld | Resultaat |
---|---|
Tab1: Replace LOAD * from File1.csv; |
Tijdens zowel volledig als gedeeltelijk opnieuw laden wordt de QlikView-tabel Tab1 aanvankelijk verwijderd. Daarna worden er nieuwe gegevens uit File1.csv geladen en opgeslagen in Tab1. |
Tab1: Replace only LOAD * from File1.csv; |
Tijdens normaal opnieuw laden wordt deze opdracht genegeerd. Tijdens gedeeltelijk opnieuw laden wordt elke QlikView-tabel die eerst Tab1 heette, aanvankelijk verwijderd. Daarna worden er nieuwe gegevens uit File1.csv geladen en opgeslagen in Tab1. |
Tab1: LOAD a,b,c from File1.csv; Replace LOAD a,b,c from File2.csv; |
Tijdens normaal opnieuw laden wordt File1.csv eerst in de QlikView-tabel Tab1 gelezen, maar meteen daarna verwijderd en vervangen door nieuwe gegevens, geladen uit File2.csv. Alle gegevens uit File1.csv zijn verloren gegaan. Tijdens gedeeltelijk opnieuw laden wordt de gehele QlikView-tabel Tab1 aanvankelijk verwijderd. Daarna wordt deze vervangen door nieuwe gegevens, geladen uit File2.csv. |
Tab1: LOAD a,b,c from File1.csv; Replace only LOAD a,b,c from File2.csv; |
Tijdens normaal opnieuw laden worden gegevens geladen uit File1.csv en opgeslagen in de QlikView-tabel Tab1. File2.csv wordt genegeerd. Tijdens gedeeltelijk opnieuw laden wordt de gehele QlikView-tabel Tab1 aanvankelijk verwijderd. Daarna wordt deze vervangen door nieuwe gegevens, geladen uit File2.csv. Alle gegevens uit File1.csv zijn verloren gegaan. |