PowerBI: Kaip susikurti kalendorių

PowerBI: Kaip susikurti kalendorių

Nors Microsoft Power BI programa pagrindinis mano darbo įrankis, jau daugiau nei metus, tačiau apie jį dar nieko nerašiau. Tai šiandien šią klaidą ištaisysiu ir vieną pamoką parašysiu. Paskui gal ir daugiau ką nors, jei įkvėpimo bus.

Kuriant modelius, siejant query’ius dažnai naudoju kalendoriaus lentą. To reikia tada, kai norint iš skirtingų duomenų lentų paimti tos pačios datos duomenis. Na, pavyzdžiui vienoje lentoje turime prekės pardavimo datą, kitoje – sąskaitos išrašymo datą. Prekės pardavimo ir sąskaitos išrašymo data skiriasi, o analizuojant duomenis norima šią info matyti vienoje lentelėje ar grafike. Tada mus ir tampa reikalinga kalendoriaus lenta.

Ilgą laiką kalendorių susikurdavau excelyje ir jį įsikeldavau į PowerBI. Tačiau dabar sužinojau apie kitą, patogesnį būdą – kalendorių galima „susiprograminti“ naudojant DAX formules.

Taigi atsidarome PowerBI, einame į Duomenų sritį, ir spaudžiame ant „New Table“. Tada formulės lauke įsidedame šį kodą:

Kalendorius = 
  GENERATE ( 
    CALENDAR ( DATE ( 2015; 1; 1 ); DATE ( 2030; 12; 31 ) ); 
    VAR currentDay = [Date]
    VAR day = DAY( currentDay )
    VAR month =  MONTH ( currentDay ) 
    VAR year =  YEAR ( currentDay )
    VAR week = WEEKNUM( currentDay)
  RETURN   ROW ( 
    "Diena"; day; 
    "Mėnesis"; month; 
    "Savaitė"; week;
    "Metai"; year )
  )

Čia gana paprastas ir aiškus kodas, kurį norint galima nesunkiai pasipildyti ir metų ketvirčiais ar kokiais kitais datos duomenimis. Bet man dažniausiai užtenka tiesiog tokio.