QVD-Dateien

QVD-Dateien (QlikView Data) enthalten Datentabellen, die aus QlikView exportiert werden. QVD ist ein QlikView-spezifisches Dateiformat, es kann nur aus QlikView heraus generiert und nur von QlikView eingelesen werden. QVD-Dateien sind für besonders schnelles Laden des QlikView-Skripts optimiert, aber gleichzeitig sehr kompakt. Das Einlesen von Daten aus QVD-Dateien ist etwa 10-100-mal schneller als das Einlesen aus Datenquellen anderen Typs.

QVD-Dateien können in zwei Modi gelesen werden: Standard (schnell) und optimiert (schneller). Der ausgewählte Modus ergibt sich automatisch aus der QlikView Script Engine. Der optimierte Modus kann nur verwendet werden, wenn alle geladenen Felder oder Teile davon ohne Umformung (Formeln, die an den Feldern aktiv werden) eingelesen werden. Felder dürfen jedoch umbenannt werden. Eine Bedingung für das Einlesen von Datensätzen bewirkt, dass QlikView die Datensätze auspackt und die optimierte Ladung deaktiviert wird. Eine optimierte QVD-Datei wird extrahiert und bei der Ausführung einer Feldumformung gemäß Standard-ETL (Exract-Transform-Load) behandelt. Dadurch kann die Leistung sinken. Das festgelegte Format wird nicht beibehalten und das zu Grunde legende, unformatierte Zahlenformat wird stattdessen verwendet und erkannt. Umformungen des Felds sind in einer QVD-Datei zulässig, die ehemalige „optimierte“ QVD-Datei wird in diesem Fall zu einer Standard-QVD-Datei ohne Optimierung.

Eine QVD-Datei enthält immer genau eine Tabelle und besteht aus drei Teilen:

  1. Ein XML-Header (im UTF-8 Zeichensatz), der Metadaten enthält, z. B. eine Beschreibung der Felder und des Aufbaus der Tabelle.
  2. Symboltabellen (unter Anwendung von Bytestuffing)
  3. Die eigentlichen Tabellendaten, unter Anwendung von Bitstuffing.

Anwendung von QVD-Dateien

QVD-Dateien sind in verschiedenen Situationen hilfreich. Im Wesentlichen lassen sich vier Anwendungsbereiche nennen. Oft sprechen auch gleich mehrere Gründe für den Einsatz von QVD-Dateien.

Verkürzte Ladezeiten

Daten, die sich gar nicht oder nur in großen Zeitabständen verändern, lassen sich in QVD-Dateien buffern. Dadurch wird für die Ausführung des Skripts erheblich weniger Zeit benötigt. Dieser Effekt macht sich insbesondere bei großen Datenmengen bemerkbar.

Entlastung für Datenbankserver

Die aus externen Quellen geladene Datenmenge verringert sich erheblich. Datenbankserver und Netzwerke werden entlastet, weil weniger Daten bewegt werden. Wenn mehrere QlikView-Skripte dieselben Daten verwenden, müssen Sie nur einmal aus der Quelldatenbank in eine QVD-Datei geladen werden. Die anderen Anwendungen können über diese Datei die gleichen Daten verwenden.

Integration von Daten aus mehreren QlikView-Dokumenten

Mithilfe des Skript-Befehls binary lassen sich nur Daten aus einer QlikView-Anwendung in eine andere laden. Sind die Daten aber in QVD-Dateien abgelegt, kann der QlikView-Skript Daten aus beliebig vielen QlikView-Anwendungen kombinieren. Ein möglicher Anwendungsbereich ist z. B. der Vergleich von Daten aus verschiedenen Abteilungen eines Betriebs.

Inkrementelles Laden

In vielen Fällen kann man QVD-Dateien für inkrementelle Ladevorgänge benutzen, bei denen nur neue oder veränderte Datensätze aus einer umfangreichen Datenbank gelesen werden.

Siehe: Inkrementelles Laden mit QVD-Dateien

Anlegen von QVD-Dateien

Es gibt drei verschiedene Möglichkeiten, QVD-Dateien zu generieren:

  1. Explizite Erstellung und Benennung mithilfe des Befehls Store im QlikView-Skript. Dazu definieren Sie im Skript, dass eine bereits eingelesene Tabelle oder ein Teil davon in eine Datei exportiert werden soll, deren Namen und Speicherort Sie bestimmen.
  2. Automatische Generierung durch das Skript. Durch den Zusatz Buffer vor Load- oder Select-Befehlen legt QlikView automatisch eine QVD-Datei an, deren Inhalt bei späteren Ladevorgängen anstelle der Originaldatenquelle eingelesen werden kann.
  3. Explizites Anlegen mithilfe des Dialogs Layout oder des Internen Makro-Interpreters. Daten werden über Befehle oder Makros aus der Benutzeroberfläche des Dokuments in QlikView exportiert. In den Objekt-Menüs zahlreicher Objekte finden Sie Exportbefehle, mit denen Sie den Inhalt des Objekts in einer Datei speichern können. Als mögliches Dateiformat steht auch QVD zur Verfügung.

    Siehe: Interner Makro-Interpreter

Die Art und Weise des Anlegens hat keinerlei Einfluss auf die Eigenschaften der QVD-Datei, d. h. Dateigröße und Zugriffsgeschwindigkeit sind gleich, unabhängig davon, wie die Datei angelegt wurde.

Einlesen von Daten aus QVD-Dateien

Es gibt drei verschiedene Möglichkeiten, Daten in QlikView aus QVD-Dateien einzulesen:

  1. QVD-Dateien als Datenquellen. QVD-Dateien können genau wie andere Dateitypen (csv, fix, dif, biff usw.) mit Hilfe des load-Befehls in das QlikView-Skript eingelesen werden. Sie können hierzu aber auch den Dateiassistent: Typ verwenden.

    Siehe: Dateiassistent Typ

  2. Beispiele:  

    LOAD * FROM xyz.qvd (qvd);

    LOAD Name, ID FROM xyz.qvd (qvd);

    LOAD Name AS a, ID AS b FROM xyz.qvd (qvd);

  3. Automatische Nutzung von QVD-Buffern Wenn Sie den buffer-Zusatz vor einem Load- oder Select-Befehl verwenden, benötigen Sie keinen separaten Befehl zum Einlesen der QVD-Datei. QlikView prüft automatisch, welche Daten aus der QVD-Datei und welche aus der zugrunde liegenden originalen load oder select-Befehl gelesen werden können.
  4. Neue Skriptfunktionen Eine Reihe neuer Skriptfunktionen (ihre Namen beginnen alle mit qvd) helfen Ihnen, die Informationen im XML-Header der QVD-Datei auszulesen.

    Siehe: Dateifunktionen

Das Importieren von QVD-Dateien mit Sternchen wird unterstützt.