Od početka do kraja…
DAX poseduje mnoštvo Time Intelligence funkcija pa moram da se osvrnem i na one koje prikazuju vrednosti u odnosu na početak i kraj nekog perioda. Moji prijatelji iz konsultantske kuće ASEE bi rekli „Od kolevke pa do groba najlepše je go-go doba“ a ja bih se u ovom tekstu ipak zadržao na kvantifikativnim pokazateljima do kojih se uz pomoć DAX-a lako dolazi (u to se bolje razumem)!
Za primer ponovo uzimamo bazu koja prati promet veleprodaje pića, a sastoji se iz tabela Transakcije, Artikli i Objekti povezanih preko odgovarajućih ključeva. Napravili smo i meru kojom pratimo promet po količinama:
Promet:=SUM(Transakcije[KOL])
Promet na sam dan početka nekog perioda možemo da dobijemo pomoću funkcija:
OPENINGBALANCEMONTH (<izraz>,<datumska kolona>)
OPENINGBALANCEQUARTER (<izraz>,<datumska kolona>)
OPENINGBALANCEYEAR (<izraz>,<datumska kolona>)
Promet na dan kraja perioda dobijamo pomoću funkcija:
CLOSINGBALANCEMONTH (<izraz>,<datumska kolona>)
CLOSINGBALANCEQUARTER (<izraz>,<datumska kolona>)
CLOSINGBALANCEYEAR (<izraz>,<datumska kolona>)
Shodno tome možemo da kreiramo mere:
PrometOBM:=OPENINGBALANCEMONTH([Promet],’Calendar'[Date])
PrometCBM:=CLOSINGBALANCEMONTH([Promet],’Calendar'[Date])
Ako napravimo PowerPivot izveštaj gde ćemo u polje Rows da prevučemo godine i mesece, a u Values mere Promet, PrometOBM i PrometCBM dobićemo Pivot tabelu sledećeg izgleda:

U prvoj koloni možete da vidite promet, u drugoj promet prvog dana u mesecu, a u trećoj promet poslednjeg dana u mesecu.
Malopre opisane funkcije rade nezavisno od funkcije CALCULATE. Ako vam trebaju DAX funkcije koje bi ste upotrebili kao filtere razmislite o sledećem rešenju:
STARTOFMONTH (<datumska kolona>)
STARTOFQUARTER (<datumska kolona>)
STARTOFYEAR (<datumska kolona>)
Ili
ENDOFMONTH (<datumska kolona>)
ENDOFQUARTER (<datumska kolona>)
ENDOFYEAR (<datumska kolona>)
Primenom ovih funkcija možemo da kreiramo mere:
PrometSTARTM:=CALCULATE([Promet],STARTOFMONTH(‘Calendar'[Date]))
PrometENDM:=CALCULATE([Promet],ENDOFMONTH(‘Calendar'[Date]))
Ako ih prevučemo u Pivot tabelu dobićemo isti rezultat kao kada smo koristili funkcije koje rade nezavisno od funkcije CALCULATE.
