QVD-filer

En QVD-fil (QlikView Data) är en fil som innehåller en tabell med data som har exporterats från QlikView. QVD är ett QlikView-originalformat och kan bara skrivas till och läsas av QlikView. Detta filformat är optimerat för hastighet vid datainläsning från ett QlikView-skript, men är ändå mycket kompakt. Datainläsning från en QVD-fil är typiskt 10-100 gånger snabbare än inläsning från andra datakällor.

QVD-filer kan läsas in på två olika sätt; standard (snabbt) och optimerat (snabbare). Vilket sätt som används bestäms automatiskt av QlikView-skriptmotorn. Det optimerade sättet kan endast användas när alla fält läses in utan någon typ av transformering (formler som påverkar fälten). Filnamnen kan dock ändras. En WHERE-sats som gör att QlikView packar upp posterna leder också till att optimerad laddning avaktiveras. En optimerad .qvd-fil extraheras och hanteras enligt standard-ETL (Extract-Transform-Load). När ett fält omvandlas leder detta till försämrad prestanda. Det angivna formatet behålls inte. Det underliggande talformatet används i stället och känns igen. Det är tillåtet att omvandla fältet i en .qvd-fil. Den tidigare "optimerade" .qvd-filen blir då en icke-optimerad .qvd-fil av "standard"-typ.

En QVD-fil innehåller exakt en datatabell och består av tre delar:

  1. Ett noggrant utformat XML-huvud (i teckenuppsättningen UTF-8) som beskriver tabellens fält, layouten för den följande informationen, samt vissa ytterligare metadata.
  2. Symboltabeller i byte-komprimerat format.
  3. Faktiska tabelldata i bit-komprimerat format.

Syftet med QVD-filer

QVD-filer har många användningsområden. Åtminstone fyra huvudsakliga användningsområden kan omedelbart identifieras. Fler än ett användningsområde kan gälla på samma gång:

Snabbare laddning

Genom att buffra de block av indata som inte har ändrats respektive ändrats långsamt i QVD-filer kan skriptexekveringen snabbas upp väsentligt för stora datamängder.

Minskat tryck på databasservrar

Mängden data som hämtas från externa datakällor kan minskas avsevärt. Detta minskar arbetstrycket på de externa databaserna och mängden nätverkstrafik. När flera QlikView-skript delar samma data krävs dessutom bara en laddning från källdatabasen till en QVD-fil. De andra applikationerna kan använda data via denna QVD-fil.

Konsolidera data från flera QlikView-applikationer

Med binary-skriptsatsen går det att ladda data från en enda QlikView-applikation till en annan, men med QVD-filer kan ett QlikView-skript kombinera data från flera olika QlikView-applikationer. Detta möjliggör t ex konsolidering av likartade data från olika affärsenheter etc.

Inkrementell laddning

I många fall kan QVD-funktionaliteten användas för att förenkla inkrementell laddning, dvs bara ladda nytillkomna poster i en växande databas.

​Se: Använda QVD-filer för inkrementell laddning

Skapa QVD-filer

En QVD-fil kan skapas på ett av tre sätt:

  1. Skapa och namnge explicit med hjälp av kommandot Store i QlikView-skriptet. Du anger bara i skriptet att en tabell (eller delar av en tabell) som tidigare har lästs in ska exporteras till en namngiven fil på en viss plats.
  2. Skapa och sköta underhåll automatisk direkt från skriptet. Med prefixet buffer framför en load- eller select-sats skapar QlikView automatiskt en QVD-fil som senare kan användas i stället för den ursprungliga datakällan vid laddning under vissa förhållanden.
  3. Skapas manuellt och namnges direkt från layouten eller via Intern makrotolk. Data kan exporteras från QlikView-layouten via användargränssnittet eller Automation-makron. I användargränssnittet finns QVD som ett av flera möjliga exportformat, under kommandot Exportera..., som finns i de flesta arkobjektens objektmeny.

    ​Se: Intern makrotolk

Det resulterande QVD-filerna skiljer sig inte åt, exempelvis angående inläsningshastighet, osv.

Läsa data från QVD-filer

En QVD-fil kan läsas in eller nås av QlikView på följande sätt:

  1. Läsa in en QVD-fil som explicit datakälla. Man kan referera till QVD-filerna genom en load-sats i QlikView-skriptet, precis som med vilken annan typ av textfil som helst (csv, fix, dif, biff osv.). Filguiden: Typ hanterar QVD-filer på samma sätt.

    ​Se: Filguiden: Typ

  2. Exempel:  

    load * from xyz.qvd (qvd);

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

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

  3. Automatisk inläsning av buffrade QVD-filer När buffer-prefixet används förload eller select-satser, behöver du inte uttryckligen ange hur laddningen ska ske. QlikView avgör i vilken grad data från QVD-filen ska användas eller om data istället ska hämtas via den ursprungliga load- eller select-satsen.
  4. Nå QVD-filer via skriptet. Ett antal skriptfunktioner (alla börjar med qvd) kan användas för att hämta olika typer av information på data som hittats i XML-huvudet på en QVD-fil.

    ​Se: Filfunktioner

Import av QVD med asterisker stöds inte.

Hjälpte den här informationen?

Varför var informationen inte till hjälp och hur kan vi förbättra den?