QVD-filer | Qlik CloudHjälp
Gå till huvudinnehåll Gå till ytterligare innehåll

QVD-filer

En QVD (QlikView Data)-fil är en fil som innehåller en datatabell exporterad från Qlik Sense eller QlikView. QVD är ett inbyggt Qlik-format och kan endast skrivas till och läsas av Qlik Sense eller QlikView. Filformatet är optimerat för hastighet när man läser data från ett Qlik Sense-skript men det är fortfarande mycket kompakt. Att läsa data från en QVD-fil är vanligtvis 10–100 gånger snabbare än att läsa från andra datakällor.

QVD-filer kan läsas i två lägen: standard (snabbt) och optimerat (snabbare). Det valda läget bestäms automatiskt av Qlik Sense-skriptmotorn. Optimerat läge kan endast användas när alla inlästa fält läses utan några transformationer (formler som verkar på fälten), även om det är tillåtet att byta namn på fält. En Where-sats som får Qlik Sense att packa upp posterna kommer också att inaktivera den optimerade inläsningen.

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

  • En XML-rubrik (i UTF-8-teckenuppsättning) som beskriver fälten i tabellen, layouten för den efterföljande informationen och viss annan metadata.
  • Symboltabeller i ett byte-stoppat format.
  • Faktiska tabelldata i ett bit-stoppat format.

QVD-filer kan användas för många ändamål. Tre huvudsakliga användningsområden kan enkelt identifieras. Mer än ett kan gälla i en given situation:

  • Minskad belastning på databasservrar
  • Mängden data som hämtas från externa datakällor kan också minskas avsevärt. Detta minskar arbetsbelastningen på externa databaser och nätverkstrafik. Dessutom, när flera Qlik Sense-skript delar samma data, är det bara nödvändigt att läsa in den en gång från källdatabasen till en QVD-fil. De andra applikationerna kan använda samma data via denna QVD-fil.

  • Konsolidering av data från flera Qlik Sense-applikationer.
  • Med skriptsatsen Binary är det möjligt att läsa in data från endast en enda Qlik Sense-applikation till en annan, men med QVD-filer kan ett Qlik Sense-skript kombinera data från ett valfritt antal Qlik Sense-applikationer. Detta öppnar upp möjligheter för applikationer som konsoliderar liknande data från olika affärsenheter etc.

  • Inkrementell inläsning
  • I många vanliga fall kan QVD-funktionaliteten användas för att underlätta inkrementell inläsning genom att uteslutande läsa in nya poster från en växande databas.

Anteckning om information

För att se hur Qlik Community använder Qlik Automate för att förbättra inläsningstider för QVD, se Så här delar du upp QVD-filer med hjälp av en automatisering för att förbättra omladdningar.

Skapa QVD-filer

En QVD-fil kan skapas och namnges med kommandot store i skriptet. Ange i skriptet att en tidigare inläst tabell, eller del därav, ska exporteras till en uttryckligen namngiven fil på en plats som du väljer.

Store

Denna skriptsats skapar en uttryckligen namngiven QVD-, Parquet-, CSV- eller TXT-fil.

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 en explicit koppling (join) göras tidigare 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. Store-satsen 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 applikationen Avancerad skriptningssjälvstudie.
  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 över filer.

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

Läsa data från QVD-filer

En QVD-fil kan läsas in i eller kommas åt av Qlik Sense genom följande metoder:

  • Läsa in en QVD-fil som en explicit datakälla. QVD-filer kan refereras till av en inläsningssats i Qlik Sense-skriptet precis som alla andra typer av textfiler (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);
  • Få åtkomst till QVD-filer från skriptet. Ett antal skriptfunktioner (som alla börjar med QVD) kan användas för att hämta olika typer av information om den data som finns i XML-rubriken i en QVD-fil.

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

  4. Klicka på Ladda data.
  5. Data läses in från QVD-filen.

    Fönster för förlopp av datainläsning

    Fönster för förlopp av datainläsning.
Anteckning om informationFör att lära dig mer om att använda QVD-filer för inkrementella inläsningar, se detta blogginlägg i Qlik Community: Overview of Qlik Incremental Loading

Tack!

Nu har du avslutat den här handledningen, och förhoppningsvis har du fått lite mer kunskap om skript i Qlik Sense. Besök vår webbplats för mer information om ytterligare tillgänglig utbildning.

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

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!