Izrazi za analizu podataka (DAX) imaju 35 funkcija posebno za agregiranje i upoređivanje podataka tokom vremena. Za razliku od DAX funkcija za datum i vreme, funkcije vremenske inteligencije nemaju baš ništa slično u programu Excel. To je zbog toga što funkcije vremenske inteligencije rade sa podacima koji se konstantno menjaju, u zavisnosti od konteksta koji izaberete u izvedenim tabelama i Power View vizuelizacijama.
Da biste radili sa funkcijama vremenske inteligencije, morate da imate tabelu sa datumima uključenu u model podataka. Tabela sa datumima mora da sadrži kolonu sa po jednim redom za svaki dan u svakoj godini koja je uključena u podatke. Ova kolona se smatra kolonom Datum (iako može da se zove šta god želite). Mnoge funkcije vremenske inteligencije zahtevaju kolonu datuma da bi se izračunala u skladu sa datumima koje izaberete kao polja u izveštaju. Na primer, ako imate meru koja izračunava završni kvartal pomoću funkcije CLOSINGBALANCEQTR, da bi Power Pivot znao kada je zaista kraj kvartala, on mora da ukaže na kolonu datuma u tabeli sa datumima da bi znao kada počinje i kada se završava kvartal. Da biste saznali više o tabelama sa datumima, pogledajte članak Razumevanje i kreiranje tabela sa datumima u programskom dodatku Power Pivot u programu Excel.
Funkcije
Funkcije koje daju jedan datum
Funkcije u ovoj kategoriji vraćaju jedan datum. Rezultat zatim može da se koristi kao argumenti za druge funkcije.
Prve dve funkcije u ovoj kategoriji daju prvi ili poslednji datum u Date_Column u trenutnom kontekstu. To može biti korisno kada želite da pronađete prvi ili poslednji datum kada ste imali transakciju određenog tipa. Ove funkcije uzimaju samo jedan argument, ime kolone sa datumima u tabeli datuma.
-
PRVI DATUM (Date_Column)
-
LASTDATE (Date_Column)
Sledeće dve funkcije u ovoj kategoriji pronalaze prvi ili poslednji datum (ili bilo koju drugu vrednost kolone) gde izraz ima vrednost koja nije prazna. Ovo se najčešće koristi u situacijama kao što je zaliha, gde želite da dobijete poslednji iznos zaliha, a ne znate kada je snimljena poslednja zaliha.
-
FIRSTNONBLANK (Date_Column, Izraz)
-
LASTNONBLANK (Date_Column, Izraz)
Još šest funkcija koje vraćaju jedan datum su funkcije koje vraćaju prvi ili poslednji datum meseca, kvartala ili godine u okviru trenutnog konteksta izračunavanja.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
KRAJ MESECI (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Funkcije koje daju tabelu datuma
Postoji šesnaest funkcija vremenske inteligencije koje vraćaju tabelu datuma. Te funkcije će se najčešće koristiti kao argument SetFilter za funkciju CALCULATE . Kao i sve funkcije vremenske inteligencije u daX-u, svaka funkcija uzima kolonu datuma kao jedan od argumenata.
Prvih osam funkcija u ovoj kategoriji počinju kolonom datuma u trenutnom kontekstu. Na primer, ako koristite meru u izvedenoj tabeli, na oznakama kolona ili oznakama redova može da postoji mesec ili godina. Neto efekat je kolona sa datumima filtrirana tako da uključuje samo datume za trenutni kontekst. Počevši od tog trenutnog konteksta, ovih osam funkcija onda izračunava prethodni (ili sledeći) dan, mesec, kvartal ili godinu i vraća te datume u obliku jedne kolone tabele. "Prethodne" funkcije rade unazad od prvog datuma u trenutnom kontekstu, a "sledeći" funkcije se pomeraju unapred od poslednjeg datuma u trenutnom kontekstu.
-
PRETHODNI DAN (Date_Column)
-
PRETHODNAMONTH (Date_Column)
-
PRETHODNIQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
NEXTDAY (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Sledeće četiri funkcije u ovoj kategoriji su slične, ali umesto izračunavanja prethodnog (ili sledećeg) perioda, one izračunavaju skup datuma u periodu koji je "mesečno do datuma" (ili od kvartala do datuma ili od početka godine do danas ili u istom periodu prethodne godine). Sve ove funkcije obavljaju izračunavanja koristeći poslednji datum u trenutnom kontekstu. Imajte na umu da SAMEPERIODLASTYEAR zahteva da trenutni kontekst sadrži susedni skup datuma. Ako trenutni kontekst nije susedni skup datuma, ONDA ĆE SAMEPERIODLASTYEAR vratiti grešku.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
Poslednje četiri funkcije u ovoj kategoriji su malo složenije i takođe malo moćnije. Ove funkcije se koriste za prebacivanje sa skupa datuma koji su u trenutnom kontekstu u novi skup datuma.
-
DATEADD (Date_Column, Number_of_Intervals, Interval)
-
DATESBETWEEN (Date_Column, Start_Date, End_Date)
-
DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)
-
PARALLELPERIOD (Date_Column, Number_of_Intervals, Interval)
DATESBETWEEN izračunava skup datuma između navedenog datuma početka i datuma završetka. Preostale tri funkcije pomeraju određeni broj vremenskih intervala iz trenutnog konteksta. Interval može biti dan, mesec, kvartal ili godina. Ove funkcije olakšavaju pomeranje vremenskog intervala za izračunavanje na neki od sledećih načina:
-
Vrati se unazad dve godine
-
Vrati se unazad jedan mesec
-
Idi napred za tri četvrtine
-
Vrati se unazad 14 dana
-
Prelazak na 28 dana unapred
U svakom slučaju, potrebno je da navedete samo koji interval i koliko tih intervala treba da se pomera. Pozitivni interval će se pomerati unapred u vremenu, dok će se negativni interval vratiti u vreme. Sam interval je naveden ključnom rečju DAY, MONTH, QUARTER ili YEAR. Ove ključne reči nisu niske, tako da ne bi trebalo da budu pod znacima navoda.
Funkcije koje procenjuju izraze tokom vremenskog perioda
Ova kategorija funkcija procenjuje izraz tokom navedenog vremenskog perioda. Istu stvar možete postići pomoću funkcije CALCULATE i drugih funkcija vremenske inteligencije. Na primer,
= TOTALMTD (Izraz, Date_Column [, Postavljanje filtera])
je tačno isto kao:
= CALCULATE (Expression, DATESMTD (Date_Column)[, SetFilter])
Međutim, te funkcije vremenske inteligencije je lakše koristiti kada su dobro prikladne za problem koji treba rešiti:
-
TOTALMTD (Expression, Date_Column [, SetFilter])
-
TOTALQTD (Expression, Date_Column [, SetFilter])
-
TOTALYTD (Expression, Date_Column [, SetFilter] [,YE_Date]) *
U ovoj kategoriji se nalaze i grupe funkcija koje izračunavaju otvorena i zatvorena salda. Postoje određeni koncepti koje bi trebalo da razumete pomoću ovih određenih funkcija. Prvo, kao što možete da mislite očigledno, otvoreni saldo za bilo koji period isti je kao završni saldo za prethodni period. Završni saldo uključuje sve podatke do kraja perioda, dok otvoreni saldo ne uključuje podatke iz trenutnog perioda.
Ove funkcije uvek vraćaju vrednost izraza izračunatog za određenu tačku u vremenu. Tačka do koje nam je stalo je uvek poslednja moguća vrednost datuma u kalendarnom periodu. Otvoreni saldo se zasniva na poslednjem datumu prethodnog perioda, dok se završni saldo zasniva na poslednjem datumu u trenutnom periodu. Trenutni period se uvek određuje poslednjim datumom u trenutnom kontekstu datuma.
-
OPENINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Kvartal (Izraz, Date_Column [,Postavljanje filtera])
-
OPENINGBALANCEYEAR (Expression, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Expression, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (Expression, Date_Column [,SetFilter] [,YE_Date])
Dodatni resursi
Članci: Razumevanje i kreiranje tabela sa datumima u programskom dodatku Power Pivot u programu Excel
Referenca: Referenca funkcije DAXna Office.com