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
- Gegevens uit meerdere Qlik Sense-toepassingen consolideren.
- Incrementeel laden
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.
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.
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.
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:
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.
Voorbeelden:
Doe het volgende:
- Open de app Zelfstudie voor geavanceerd scriptgebruik.
- Klik op de scriptsectie Product.
- Voeg het volgende toe aan het eind van uw script:
- Klik op Gegevens laden.
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);
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).
Voorbeelden:
- 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.
Doe het volgende:
- Schakel het hele script uit in de scriptsectie Product.
- Voer het volgende script in:
- Klik op Gegevens laden.
Load * from [lib://DataFiles/ProductData.qvd](qvd);
De gegevens wordt geladen uit het QVD-bestand.
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.