Ga naar hoofdinhoud Ga naar aanvullende inhoud

QVD-bestanden

Een QVD (QlikView Data)-bestand is een bestand dat een tabel bevat met gegevens die vanuit Qlik Sense of QlikView 12 zijn geëxporteerd. QVD is een speciale Qlik-indeling die uitsluitend kan worden geschreven naar en gelezen door Qlik Sense of QlikView 12. De bestandsindeling is geoptimaliseerd om snel gegevens in een Qlik Sense-script te kunnen lezen, maar is toch zeer compact. Gegevens uit een QVD-bestand worden 10-100 keer sneller gelezen dan gegevens uit een andere gegevensbron.

QVD-bestanden kunnen in twee modi worden gelezen: standaard (snel) en geoptimaliseerd (sneller). De geselecteerde modus wordt automatisch bepaald door de Qlik Sense-script-engine. De geoptimaliseerde modus kan alleen worden toegepast als alle geladen velden worden gelezen zonder dat er transformaties (formules die op de velden worden toegepast) nodig zijn. Alleen het hernoemen van velden is toegestaan. Een Where-clausule die ertoe leidt dat de records worden uitgepakt in Qlik Sense zorgt er eveneens voor dat geoptimaliseerd laden wordt uitgeschakeld.

Een QVD-bestand bevat precies één gegevenstabel en bestaat uit de volgende drie delen:

  • Een XML-koptekst (in UTF-8-tekenset) met daarin een beschrijving van de velden, de gegevensopmaak en bepaalde andere metagegevens.
  • Symbooltabellen in een byte-stuffed indeling.
  • Eigenlijke tabelgegevens in een bit-stuffed indeling.

QVD-bestanden kunnen voor vele doeleinden worden gebruikt. Vier daarvan zijn direct te onderkennen. Vaak is er meer dan één van toepassing:

  • Lagere belasting van databaseservers
  • Ook de hoeveelheid op te halen gegevens uit externe gegevensbronnen kan aanzienlijk worden gereduceerd. Hierdoor is er minder netwerkverkeer nodig en wordt de belasting van externe databases teruggebracht. Als meerdere Qlik Sense-scripts dezelfde gegevens delen, hoeven deze maar één keer uit de brondatabase te worden geladen in een QVD-bestand. De andere toepassingen kunnen via dit QVD-bestand gebruikmaken van dezelfde gegevens.

  • Gegevens uit meerdere Qlik Sense-toepassingen consolideren.
  • Met de Binary-scriptopdracht kunt u gegevens uit slechts één enkele Qlik Sense-toepassing in een andere laden, maar bij QVD-bestanden kunt u gegevens uit een willekeurige hoeveelheid Qlik Sense-toepassingen door middel van een Qlik Sense-script met elkaar combineren. Hierdoor wordt het mogelijk om binnen één toepassing gelijksoortige gegevens van bijvoorbeeld verschillende bedrijfsafdelingen te combineren.

  • Incrementeel laden
  • In veel voorkomende gevallen kan de QVD-functionaliteit worden gebruikt voor incrementeel laden, d.w.z. dat uitsluitend nieuwe records uit een database worden geladen.

Informatie

Om te zien hoe de Qlik Community Qlik toepassingsautomatisering benut om QVD-laadtijden te verbeteren, zie QVD's uitsplitsen met behulp van een automatisering om ladingen te verbeteren

QVD-bestanden maken

U kunt een QVD-bestand maken met behulp van de opdracht Store in het script. U geeft in het script aan dat u een eerder gelezen tabel of deel ervan wilt exporteren naar een expliciet genoemd bestand op een locatie van uw keuze.

Store

Deze scriptopdracht maakt een specifiek genoemd QVD-, Parquet-, CSV-, of TXT-bestand.

Syntaxis:  

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

De opdracht kan alleen velden exporteren uit één gegevenstabel. Als velden uit diverse tabellen moeten worden geëxporteerd, moet eerst een expliciete join in het script worden opgegeven om de te exporteren gegevenstabel te maken.

De tekstwaarden worden in de indeling UTF-8 naar het CSV-bestand geëxporteerd. U kunt een scheidingsteken opgeven, zie LOAD. De opslagopdracht voor een CSV -bestand ondersteunt geen 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. Open de app Zelfstudie voor geavanceerd scriptgebruik.
  2. Klik op de scriptsectie Product.
  3. Voeg het volgende toe aan het eind van uw script:
  4. Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

    Uw script zou er als volgt moeten uitzien:

    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. Klik op Gegevens laden.
  6. Het bestand Product.qvd zou zich nu in de lijst met bestanden moeten bevinden.

    Dit gegevensbestand is het resultaat van het Crosstable-script en is een tabel met drie kolommen, één kolom voor elke categorie (Product, Month, Sales). Het gegevensbestand zou nu kunnen worden gebruikt voor het vervangen van de hele Product -scriptsectie.

Gegevens uit QVD-bestanden lezen

Een QVD-bestand kan op de volgende manieren door Qlik Sense worden gelezen of geopend:

  • Een QVD-bestand laden als een expliciete gegevensbron. Er kan naarQVD-bestanden worden verwezen met een load-opdracht in het Qlik Sense-script, net als naar andere typen tekstbestanden (csv, fix, dif, biff enzovoort).
  • 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);
  • QVD-bestanden via het script benaderen. Een aantal scriptfuncties (alle functies die beginnen met QVD) kan worden gebruikt om informatie op te halen uit de XML-koptekst van een QVD-bestand.

  1. Schakel het hele script uit in de scriptsectie Product.
  2. Voer het volgende script in:
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. Klik op Gegevens laden.
  5. De gegevens wordt geladen uit het QVD-bestand.

    Venster met voortgang laden van gegevens

    Venster met voortgang laden van gegevens.
InformatieVoor meer informatie over het gebruik van QVD-bestanden voor incrementeel laden, bekijkt u deze blogpost in Qlik Community: Overzicht van Incrementeel laden met Qlik

 

Hartelijk dank!

U hebt deze zelfstudie nu voltooid en hopelijk beschikt u nu over wat meer kennis van het gebruiken van scripts in Qlik Sense. Bezoek onze website voor meer informatie over de verdere training die beschikbaar is.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!