Load ... while
Att kombinera Load med en while-sats kan ibland vara mycket kraftfullt. Load läser förstås in och transformerar data och while är en funktion för att "loopa" - att repetera samma kod flera gånger.

Med hjälp av While kan vi således repetera inläsningen av rader ett antal gånger som avgörs av data i de kolumner som finns i data vi läser. Säg till exempel att vi har tabellen nedan och vill skapa upp en rad per Year som ett projekt är aktivt. För projekt med ID=2 vill vi alltså ha tre rader med värden 2016, 2017 respektive 2018 i ett fält Year.

Vi gör detta genom att kombinera Load med en While:
Load
ProjectID,
FromYear,
ToYear,
FromYear+IterNo()-1 as Year
from Data.qvd (qvd) while FromYear + IterNo () -1 <= ToYear;
För varje rad har vi ett FromYear och ett ToYear där vi vill bryta åt varje Year i intervallet. Detta gör vi genom att för varje rad repetera utläsningen så länge FromYear + en räknare för varje rad är mindre än eller lika med ToYear.
Year skapas genom att utgå från FromYear och lägga till värdet för räknaren för varje rad. Resultatet blir följande:

För mer information om subfield() och andra bra funktioner kan du kontakta oss för att delta på en kurs. Mycket bra information finns också på Qlik Help.

Skriven av: Morgan Kejerhag
Morgan Kejerhag har arbetat med Qlik-plattformen sedan 2005 och är en av Sveriges mest erfarna konsulter. Under åren har Morgan arbetat med flertalet multinationella bolag där han lett arbetet i att bygga upp stora Qlik-miljöer såväl som små kunder. LinkedIn