Zu Hauptinhalt springen

Replace

Der Zusatz Replace kann zu jedem LOAD- oder SELECT-Befehl im Skript hinzugefügt werden, um anzugeben, dass die geladene Tabelle eine andere Tabelle ersetzen soll. Er gibt auch an, dass dieser Befehl in einem partiellen Ladevorgang ausgeführt werden soll. Der Zusatz Replace kann auch in einem Map-Befehl verwendet werden.

Syntax:  

Replace[only][Concatenate[(tablename)]] (loadstatement | selectstatement)


Replace[only]mapstatement

 

Während einer normalen (nicht teilweisen) Skriptausführung funktioniert die Konstruktion ReplaceLOAD wie ein normaler LOAD-Befehl, es wird aber DropTable vorangestellt. Zuerst wird die alte Tabelle gelöscht, dann werden Datensätze generiert und als neue Tabelle gespeichert.

Wenn das Präfix Concatenate verwendet wird oder wenn eine Tabelle mit dem gleichen Feldersatz vorhanden ist, ist dies die zu löschende Tabelle. Andernfalls ist keine zu löschende Tabelle vorhanden, und die Konstruktion ReplaceLOAD ist mit einem normalen LOAD identisch.

Ein teilweises Laden hat das gleiche Ergebnis. Der einzige Unterschied besteht darin, dass immer eine Tabelle aus der vorherigen Skriptausführung zum Löschen vorhanden ist. Mit der Konstruktion ReplaceLOAD wird immer zuerst die alte Tabelle gelöscht und dann eine neue erstellt.

Durch den Replace Map...Using-Befehl wird auch bei der partiellen Ausführung des Skripts ein Mapping durchgeführt.

Arguments:  

Replace-Argumente
Argument Beschreibung
only Ein optionaler Zusatz, der bewirkt, dass der Befehl nur bei der partiellen, nicht aber bei der normalen (nicht partiellen) Ausführung des Skripts berücksichtigt wird.

Examples and results:  

Beispiele und Ergebnisse
Beispiel Ergebnis

Tab1:

Replace LOAD * from File1.csv;

Bei der normalen wie bei der partiellen Ausführung des Skripts wird die QlikView-Tabelle Tab1 gelöscht. Danach werden neue Daten aus File1.csv geladen und in Tab1 gespeichert.

Tab1:

Replace only LOAD * from File1.csv;

Bei der normalen Ausführung des Skripts wird dieser Befehl nicht berücksichtigt.

Bei der partiellen Ausführung des Skripts wird jede QlikView-Tabelle mit der Bezeichnung Tab1 gelöscht. Danach werden neue Daten aus File1.csv geladen und in Tab1 gespeichert.

Tab1:

LOAD a,b,c from File1.csv;

Replace LOAD a,b,c from File2.csv;

Bei der normalen Ausführung des Skripts werden die Daten aus der Datei File1.csv zunächst in die QlikView-Tabelle Tab1 eingelesen, aber sofort wieder gelöscht und durch die Daten aus File2.csv ersetzt. Sämtliche Daten aus File1.csv gehen verloren.

Bei der partiellen Ausführung des Skripts wird die gesamte QlikView-Tabelle Tab1 gelöscht. Danach werden die Daten durch die neuen aus File2.csv ersetzt.

Tab1:

LOAD a,b,c from File1.csv;

Replace only LOAD a,b,c from File2.csv;

Bei der normalen Ausführung des Skripts werden die Daten aus File1.csv geladen und in der QlikView-Tabelle Tab1 gespeichert. File2.csv wird nicht berücksichtigt.

Bei der partiellen Ausführung des Skripts wird die gesamte QlikView-Tabelle Tab1 gelöscht. Danach werden die Daten durch die neuen aus File2.csv ersetzt. Sämtliche Daten aus File1.csv gehen verloren.

See also: