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

Vill du har mer information?

Kontakta oss via informationen på vår kontakt-sida.

DrakeStone AB
Teknikringen 10

583 30 Linköping

Org: 556986-6956

© 2020 Drake Analytics