top of page

Snödjup - en enkel Qlik Sense-app

I det här inlägget ska vi visa hur enkelt man kan bygga en enklare Qlik Sense-applikation från två Excel-filer. Appen ska visa antalet dagar med mer än 5cm snödjup under dec-feb per årtionde. Var det vitare vintrar förr?



Syftet med appen är att svara på frågan som uppkommer varje år vid fikabordet på jobbet - var det bättre vintrar med mer snö när vi var små? Så för att svara på detta ska vi läsa in information om snödjupet per dag för ett antal år bakåt. Vi tittar sedan på snittsnödjupet per dag under december-februari per år och årtionde.


Källan till data är SMHI. Om man vill komma åt väderdata löpande är det bästa att sätta upp en anslutning till SMHIs API:r, men i detta fall ska vi göra en engångsanalys och väljer därför att ladda ner data istället.


Gå till följande sida och välj en mätstation på kartan. När du klickar på mätstationen kan du se information om den samt länkar för nedladdning. Tänk på att det blir en intressantare mätning om stationen har en lång historik med data.



Ladda ner data för historik (första länken) och ladda även ner data för de senaste fyra månaderna (andra länken). Eftersom historiken sträcker sig fram till för tre månader sedan och det nya data har fyra månader historik kommer mängderna att överlappa varandra. Vi måste hantera detta sedan när vi läser in data så att vi inte för dubbla rader för en månad.


I mitt exempel väljer jag att hämta data från Malmslätt i utkanten av Linköping. Stationen kom i drift 1944 och är fortfarande aktiv. Det kommer att ge oss en lång historik att följa. Filen från den första länken sparar jag som SnödjupHistorik.csv och filen från den andra länken döper jag till SnödjupNy.csv.


I nästa steg ska vi lägga filerna någonstans där Qlik Sense kan läsa in dem. Beroende på om du använder Sense i Cloud eller i en lokal installation kan detta göras på olika sätt. I exemplet här kommer vi använda Qlik Cloud. Om du inte redan har tillgång till Qlik Cloud kan du utan kostnad sätta upp en miljö under en utvärderingsperiod. Klicka här för mer information.


Öppna Qlik Cloud och välj att skapa en ny applikation. Alternativet finns bara om du har en Professional-licens, vilket krävs för att kunna utveckla.



Ge appen ett lämpligt namn och välj sedan att gå in i skriptredigeraren.



Välj nu att läsa data från connectorn DataFiles. DataFiles används för filer som du antingen laddar upp själv eller sparar från skript. Ladda upp de två CSV-filerna till rutan som öppnas genom att dra och släppa en i taget till rutan. Markera sedan filen SnödjupNy.csv i fönstret och klicka på knappen Välj.



I det nya fönstret som visas klickar vi ur alla kolumner utöver Datum och Snödjup. Klicka på knappen "Infoga skript" och repetera sedan proceduren för nästa fil.



Nu ska du ha ett skript som ser ut så här:


Skriptet är en del av Qlik Sense som hanterar hur data läses in och transformeras. Filer kan också läsas in via Data Manager som är ett enklare gränssnitt. I detta fall använder vi skriptet eftersom vi behöver hantera att utesluta de överlappande datumen.


Lägg till en rad innan det sista semikolonet för den sista inläsningen - rad 31 i exemplet ovan. Raden ska filtrera informationen från SnödjupHistory.csv så att vi endast läser in datum som vi inte redan läst in från SnödjupNy.csv. Detta görs enklast med filtret "where not exists(Datum)".