QVD-bestanden

Een QVD (QlikView Data)-bestand is een bestand dat een tabel bevat met gegevens die vanuit QlikView geëxporteerd zijn. QVD is een speciale QlikView-indeling, die uitsluitend kan worden geschreven en gelezen in QlikView. Deze bestandsindeling is geoptimaliseerd om snel gegevens in het QlikView-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 QlikView-script-engine. De geoptimaliseerde modus kan alleen worden toegepast als alle geladen velden worden gelezen zonder dat er transformaties (formules die op de velden van toepassing zijn) nodig zijn. Alleen het hernoemen van velden is toegestaan. Een WHERE-clausule die ertoe leidt dat de records worden uitgepakt in QlikView zorgt er eveneens voor dat geoptimaliseerd laden wordt uitgeschakeld. Een geoptimaliseerd QVD-bestand wordt uitgepakt en verwerk volgens de standaardprocedure voor Extraheren-Transformeren-Laden (ETL). Als een veldtransformatie wordt uitgevoerd, resulteert dit in verslechtering van de prestaties. De opgegeven indeling wordt niet gehandhaafd en in plaats daarvan wordt de onderliggende onbewerkte getalnotatie gebruikt en herkend. Transformaties van het veld in een QVD-bestand is toegestaan. Het eerdere "geoptimaliseerde" QVD-bestand wordt dan een standaard, niet-geoptimaliseerd QVD-bestand.

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

  1. Een XML-koptekst (in UTF-8-tekenset) die voldoet aan de eisen van de XML-taal met daarin een beschrijving van de velden, de gegevensopmaak en bepaalde andere metagegevens.
  2. Symbooltabellen in een byte-stuffed indeling.
  3. Eigenlijke tabelgegevens in een bit-stuffed indeling.

Functie van QVD-bestanden

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

Sneller laden van gegevens

Door niet of langzaam veranderende blokken gegevensinvoer in QVD-bestanden te bufferen, wordt de scriptuitvoering van grote gegevenssets aanmerkelijk versneld.

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 diverse QlikView-scripts dezelfde gegevens delen, hoeven deze maar één keer uit de brondatabase te worden opgehaald in een QVD-bestand. De andere toepassingen kunnen via dit QVD-bestand van dezelfde gegevens gebruikmaken.

Gegevens uit meerdere QlikView-toepassingen consolideren

Met de scriptopdracht binary kunt u gegevens uit slechts één enkele QlikView-toepassing in een andere laden, maar bij QVD-bestanden kunt u gegevens uit een willekeurige hoeveelheid QlikView-toepassingen door middel van een QlikView-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.

QVD-bestanden gebruiken voor incrementeel laden

QVD-bestanden maken

Een QVD-bestand kan op een van de volgende drie manieren worden gemaakt:

  1. Door dit expliciet te maken en een naam te geven met de opdracht store in het QlikView-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.
  2. Door dit automatisch te maken en beheren vanuit een script. Als u een load- of select-opdracht van de prefix buffer voorziet, maakt QlikView automatisch een QVD-bestand aan dat bij het herladen van gegevens onder bepaalde voorwaarden in plaats van de originele gegevensbron kan worden gebruikt.
  3. Deze kunnen expliciet handmatig worden gemaakt en ze kunnen van een naam worden voorzien vanuit de opmaak of via de Interne Macro Interpreter. Gegevens kunnen worden geëxporteerd in de QlikView-opmaak door middel van opdrachten of Automatisering-macro's. In de GUI vindt u QVD als een van de mogelijke exportindelingen onder de opdracht Exporteren..., die in het objectmenu van de meeste werkbladobjecten wordt weergegeven.

    Interne Macro Interpreter

Tussen de verschillend aangemaakte QVD-bestanden bestaan geen verschillen, bijvoorbeeld met betrekking tot de leessnelheid.

Gegevens lezen uit QVD-bestanden

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

  1. Een QVD-bestand als een expliciete gegevensbron laden. QVD-bestanden kunnen net als elk ander type tekstbestand (csv, fix, dif, biff, enz.) worden benaderd via een load-opdracht in het QlikView-script. Voor de wizard Bestand: Type gelden dezelfde principes voor de QVD-bestanden.

    Wizard Bestand: Type

  2. Examples:  

    load * from xyz.qvd (qvd);

    load Name, RegNo from xyz.qvd (qvd);

    load Name as a, RegNo as b from xyz.qvd (qvd);

  3. Automatisch laden van gebufferde QVD-bestanden. Als u het prefix buffer in de load- of select-opdracht gebruikt, zijn er geen expliciete leesopdrachten nodig. Er wordt automatisch bepaald in welke mate er gegevens uit het QVD-bestand of uit de load- of select-opdracht worden gebruikt.
  4. 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 het QVD-bestand.

    Bestandsfuncties

QVD-bestanden importeren via sterretjes wordt niet ondersteund.