Föregående LOAD

Du kan använda funktionen föregående LOAD för att läsa in en tabell i ett pass, men fortfarande definiera flera övergångar i följd. I grunden är det en LOAD-sats som läses in från LOAD- eller SELECT-satsen nedan, utan att ange en källkvalificerare exempelvis From eller Resident som man normalt skulle göra. Du kan stapla valfritt antal LOAD-satser på det här sättet. Satsen nederst kommer att utvärderas först, och sedan satsen ovan, och så vidare tills det översta satsen har utvärderats.

Du kan uppnå samma resultat genom att använda Resident, men i de flesta fall är en föregående LOAD snabbare.

En annan fördel med föregående inläsning är att du kan behålla en beräkning på en plats och återanvända den i LOAD-satser placerade ovan.

Observera: Följande prefix kan inte användas i samband med föregående LOAD:Join, Crosstable och Intervalmatch.

Exempel 1: Omvandla data som lästs in med en SELECT-sats

Om du läser i data från en databas med en SELECT-sats kan du inte använda -för QlikView-funktioner att tolka data i SELECT-satsen. Lösningen är att lägga till en LOAD-sats där du utför dataomvandling, ovanför SELECT-satsen.

I det här exemplet tolkar vi data som sparats som en sträng med hjälp av QlikView-funktionen Date# i en LOAD-sats med föregående SELECT-sats som källa.

LOAD Date#(OrderDate,’YYYYMMDD’) as OrderDate;
SQL SELECT OrderDate FROM … ;

Exempel 2: Förenkla ditt skript genom att återanvända beräkningar

I det här exemplet använder vi en beräkning mer än en gång i skriptet:

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

Genom att introducera beräkningen i ett första pass kan vi återanvända den i Age-funktionen i en föregående LOAD:

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

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