Gå till huvudinnehåll Gå till ytterligare innehåll

QVD-filer

En QVD (QlikView Data)-fil är en fil som innehåller en tabell med data som har exporterats från Qlik Sense eller QlikView. QVD är ett Qlik-originalformat och kan bara skrivas till och läsas av Qlik Sense eller QlikView. Detta filformat är optimerat för hastighet vid datainläsning från ett Qlik Sense-skript, men är samtidigt mycket kompakt. Datainläsning från en QVD-fil är vanligtvis 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 Qlik Sense-skriptmotorn. Det optimerade läget kan endast användas när alla inlästa fält läses utan någon typ av transformering (formler som påverkar fälten). Filnamnen kan dock ändras. En Where-sats som gör att Qlik Sense packar upp posterna leder också till att optimerad laddning inaktiveras.

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

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

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

  • 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. En annan fördel är att när flera Qlik Sense-skript delar samma data, behöver data bara laddas en gång från källdatabasen till en QVD-fil. De andra applikationerna kan använda data genom denna QVD-fil.

  • Konsolidera data från flera Qlik Sense-applikationer.
  • Med Binary-skriptsatsen går det att ladda data från en enda Qlik Sense-applikation till en annan, men med QVD-filer kan ett Qlik Sense-skript kombinera data från flera olika Qlik Sense-applikationer. Detta möjliggör konsolidering av likartade data från olika affärsenheter med mera.

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

Anteckning om information

För att se hur Qlik-forumet använder Qlik programautomatisering för att förbättra QVD-laddningstiderna kan du läsa i Hur du delar upp QVD:er med en automatisering för att förbättra omladdningar

Skapa QVD-filer

Det går att skapa och namnge en QVD-fil med hjälp av kommandot store i skriptet. Ange 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.

Store

Detta skriptuttryck skapar en namngiven QVD-, Parquet-, CSV-, TXT-fil.

Syntax:  

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

Satsen kan endast exportera fält från en datatabell. Om fält från flera tabeller ska exporteras, måste du först göra en explicit join i skriptet för att skapa den datatabell som ska exporteras.

Textvärdena exporteras till CSV-filen i UTF-8-format. En avgränsare kan anges, se LOAD. Satsen store (spara) till en CSV -fil stöder inte 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. Öppna appen Avancerad skriptvägledning.
  2. Klicka på skriptavsnittet Product.
  3. Lägg till följande i slutet av skriptet:
  4. Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

    Ditt skript bör se ut så här:

    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. Klicka på Ladda data.
  6. Filen Product.qvd bör nu finnas i listan med filer.

    Den här datafilen är resultatet av ett Crosstable-skript och är en tabell med tre kolumner, med en kolumn för varje kategori (Product, Month, Sales). Den här datafilen kan nu användas för att ersätta hela Product -skriptavsnittet.

Läsa in data från QVD-filer

En QVD-fil kan laddas eller nås av Qlik Sense på följande sätt:

  • Läsa in en QVD-fil som explicit datakälla. Det går att referera till QVD-filerna genom en load-sats i Qlik Sense-skriptet, precis som med vilken annan typ av textfil som helst (csv, fix, dif, biff och så vidare).
  • 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-filer från skriptet. Ett antal skriptfunktioner (alla börjar med QVD) kan användas för att hämta olika typer av information för data som återfinns i XML-huvudet till en QVD-fil.

  1. Kommentera ut hela skriptet i Product-skriptavsnittet.
  2. Ange följande skript:
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. Klicka på Ladda data.
  5. Data laddas från filen QVD.

    Förloppsfönster för dataladdning

    Förloppsfönster för dataladdning.
Anteckning om informationOm du vill veta mer om att använda QVD-filer för inkrementell laddning läser du det här blogginlägget i Qlik Community: Översikt över inkrementell laddning i Qlik

 

Tack!

Nu när du är klar med den här introduktionskursen vet du lite mer om skript i Qlik Sense. Besök gärna vår webbplats för mer information om den ytterligare utbildningar som finns tillgängliga.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!