Buffer

QVD-Dateien können mit Hilfe des buffer-Zusatzes im Skript automatisch generiert werden. Dieser Zusatz kann zusammen mit den meisten LOAD- und SELECT-Befehlen verwendet werden. Er dient dazu, die eingelesenen Daten in einer QVD-Datei zu cachen bzw. zu buffern.

Syntax:  

Buffer [(option [ , option])] ( loadstatement | selectstatement )

option::= incremental | stale [after] amount [(days | hours)]

 

Ist keine Option definiert, wird die bei der ersten Skriptausführung generierte QVD-Datei auf unbestimmte Zeit weiterverwendet.

QVD-Buffer sind standardmäßig unter C:\ProgramData\QlikTech\QlikView\Buffers gespeichert.

Normalerweise werden QVD-Buffer automatisch gelöscht, auf die während der Ausführung des Skripts nicht mehr zugegriffen wird. Auch beim Löschen des Dokuments, das die QVD-Buffer erstellt hat, werden die QVD-Buffer automatisch mitgelöscht.

Argumente:  

Argument Beschreibung
incremental Durch die Option incremental wird nur ein Teil der Daten aus der Originaldatenquelle gelesen. Die bisherige Größe der Quelldatei ist im XML-Header der QVD-Datei gespeichert. Dies ist insbesondere für log-Dateien nützlich. Alle bereits in der QVD-Datei vorhandenen Datensätze werden von dort eingelesen, alle neuen Datensätze aus der Originaldatenquelle. Am Ende dieses Vorgangs wird eine aktualisierte Version in der QVD-Datei gespeichert. Beachten Sie, dass die Option incremental nur mit LOAD-Befehlen und Textdateien verwendet werden kann und dass incremental load nicht verwendet werden kann, wenn alte Daten geändert oder gelöscht wurden!
stale [after] amount [(days | hours)] amount ist eine Zahl, die den Zeitraum definiert. Es dürfen Dezimalzahlen verwendet werden. Ist keine Einheit angegeben, nimmt QlikView Tage an.
Die Option stale after ist für Datenbanken vorgesehen, deren Originaldaten keinen Zeitstempel enthalten. Stattdessen definiert man, wie alt die QVD-Datei maximal sein darf, damit sie anstelle der Originaldatenquelle eingelesen werden kann. Eine Bedingung stale after gibt einfach einen Zeitraum für das Erstellungsdatum des QVD-Buffers an. Danach ist er nicht mehr gültig. Vor dem Zeitrahmen wird der QVD-Buffer als Quelle für Daten verwendet, und danach gilt die ursprüngliche Datenquelle. In diesem Fall wird eine aktualisierte Version der QVD-Datei gespeichert, und die Zeitspanne beginnt von Neuem.

Beschränkungen:  

Im Gebrauch des buffer-Zusatzes bestehen einige Einschränkungen. Die wichtigste besteht darin, dass der Zusatz nur für LOAD- oder SELECT-Befehle benutzt werden darf, die Daten aus einer Datei lesen.

Beispiel 1:  

Buffer SELECT * from MyTable;

Beispiel 2:  

Buffer (stale after 7 days) SELECT * from MyTable;

Beispiel 3:  

Buffer (incremental) LOAD * from MyLog.log;