Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

QVD-Dateien

QVD (QlikView Data)-Dateien enthalten Datentabellen, die aus Qlik Sense oder QlikView exportiert werden. QVD ist ein natives Qlik Format, das nur von Qlik Sense oder QlikView gelesen oder geschrieben werden kann. Das Dateiformat ist für besonders schnelles Laden aus einem Qlik Sense-Skript optimiert, aber gleichzeitig sehr kompakt. Das Einlesen von Daten aus QVD-Dateien ist etwa 10-100 Mal schneller als das Einlesen aus anderen Datenquellen.

QVD-Dateien können in zwei Modi gelesen werden: Standard (schnell) und optimiert (schneller). Der ausgewählte Modus ergibt sich automatisch aus dem Qlik Sense-Skriptmodul. 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 Where-Bedingung, bei der Qlik Sense die Datensätze auspackt, deaktiviert auch die optimierte Ladung.

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

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

QVD-Dateien sind in verschiedenen Situationen hilfreich. Vier häufige Anwendungsbereiche sind schnell genannt. Oft sprechen auch gleich mehrere Gründe für den Einsatz von QVD-Dateien.

  • 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 Qlik Sense-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 QVD-Datei die gleichen Daten verwenden.

  • Integration von Daten aus mehreren Qlik Sense-Anwendungen
  • Mit dem Skriptbefehl Binary lassen sich nur Daten aus einer Qlik Sense-Anwendung in eine andere laden. Mit QVD-Dateien jedoch kann ein Qlik Sense-Skript Daten aus beliebig vielen Qlik Sense-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.

Informationshinweis

Informationen dazu, wie die Qlik Community Qlik Application Automation zum Verbessern der QVD-Ladezeiten verwendet, finden Sie unter Teilen von QVDs anhand einer Automatisierung zum Verbessern von Ladevorgängen.

Erstellen von QVD-Dateien

Eine QVD-Datei kann mit dem Befehl store im Skript erstellt und benannt werden. 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.

Store

Dieser Skriptbefehl erstellt eine ausdrücklich benannte QVD-, Parquet-, CSV- oder TXT-Datei.

Syntax:  

Store[ *fieldlist from] table into filename [ format-spec ];

Durch den Befehl werden Werte einer Datentabelle in die neue Datei exportiert. Wenn Felder aus mehreren Tabellen exportiert werden sollen, muss zuvor im Skript eine explizite Zusammenfügung erstellt werden, um die zu exportierende Datentabelle zu generieren.

Textwerte werden im UTF-8-Format in eine CSV-Datei exportiert. Es kann ein Trennzeichen festgelegt werden (siehe LOAD). Der Store-Befehl in einer CSV -Datei unterstützt keinen BIFF -Export.

Store mytable into [lib://DataFiles/xyz.qvd]; Store * from mytable into [lib://DataFiles/xyz.qvd]; Store myfield from mytable into [lib://DataFiles/xyz.qvd]; Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; Store mytable into [lib://DataFiles/myfile1.txt]; Store mytable into [lib://DataFiles/myfile2.csv];

  1. Öffnen Sie die App Erweitertes Skript-Tutorial.
  2. Klicken Sie auf den Skriptabschnitt Product.
  3. Fügen Sie Folgendes zum Ende des Skripts hinzu:
  4. Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

    Ihr Skript sollte folgendermaßen aussehen:

    CrossTable(Month, Sales)
    LOAD
        Product,
        "Jan 2014",
        "Feb 2014",
        "Mar 2014",
        "Apr 2014",
        "May 2014"
    FROM [lib://DataFiles/Product.xlsx] 
    (ooxml, embedded labels, table is Product);
    
    Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

  5. Klicken Sie auf Daten laden.
  6. Die Product.qvd-Datei sollte nun in der Dateiliste aufgeführt werden.

    Diese Datendatei stammt aus dem Crosstable-Skript und umfasst drei Spalten – eine Spalte pro Kategorie (Product, Month, Sales). Diese Datendatei kann nun verwendet werden, um gesamten Product -Skript-Abschnitt zu ersetzen.

Daten aus QVD-Dateien einlesen

Es gibt verschiedene Möglichkeiten, QVD-Dateien mithilfe von Qlik Sense zu lesen oder darauf zuzugreifen:

  • Laden einer QVD-Datei als Datenquelle. QVD-Dateien können mit einem load-Befehl im Qlik Sense-Skript genau wie andere Textdateitypen (csv, fix, dif, biff usw.) referenziert werden.
  • LOAD * from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);
  • Zugriff auf QVD-Dateien über das Skript. Eine Reihe neuer Skriptfunktionen (ihre Namen beginnen alle mit QVD) helfen Ihnen, die Informationen im XML-Header der QVD-Datei auszulesen.

  1. Kommentieren Sie das ganze Skript im Skriptabschnitt Product aus.
  2. Geben Sie folgendes Skript ein:
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. Klicken Sie auf Daten laden.
  5. Die Daten werden aus der QVD-Datei geladen.

    Fenster für Datenladefortschritt

    Fenster für Datenladefortschritt.
InformationshinweisInformationen zur Verwendung von QVD-Dateien für inkrementelles Laden finden Sie in folgendem Blog-Eintrag in Qlik Community: Overview of Qlik Incremental Loading (Überblick über inkrementelles Laden in Qlik)

 

Vielen Dank!

Sie haben dieses Tutorial jetzt abgeschlossen und hoffentlich grundlegende Kenntnisse zur Verwendung von Skripts in Qlik Sense erworben. Nähere Informationen zu weiteren Schulungen erhalten Sie auf unserer Webseite.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!