Izrazi za analizu podataka (DAX) imaju 35 funkcija posebno za prikupljanje i usporedbu podataka tijekom vremena. Za razliku od funkcija datuma i vremena daX-a, funkcije inteligencije vremena zapravo nemaju ništa slično u programu Excel. To je zato što funkcije inteligencije vremena funkcioniraju s podacima koji se stalno mijenjaju, ovisno o kontekstu koji odaberete u zaokretnim tablicama i vizualizacijama dodatka Power View.
Da biste radili s funkcijama inteligencije vremena, morate imati tablicu datuma u podatkovnom modelu. Tablica datuma mora sadržavati stupac s jednim retkom za svaki dan svake godine uključen u podatke. Stupac se smatra stupcem Datum (iako može imati naziv koji god želite). Mnoge funkcije inteligencije vremena zahtijevaju stupac datuma za izračun prema datumima koje odaberete kao polja u izvješću. Ako, primjerice, imate mjeru koja izračunava završni saldo na kraju tromjesečja pomoću funkcije CLOSINGBALANCEQTR, da bi Power Pivot znao kada se zapravo nalazi kraj tromjesečja, mora se referirati na stupac datuma u tablici datuma da bi znao kada tromjesečje počinje i završava. Dodatne informacije o tablicama datuma potražite u članku Razumijevanje i stvaranje tablica datuma u dodatku Power Pivot u programu Excel.
Funkcije
Funkcije koje vraćaju jedan datum
Funkcije u ovoj kategoriji vraćaju jedan datum. Rezultat se zatim može koristiti kao argument za druge funkcije.
Prve dvije funkcije u ovoj kategoriji vraćaju prvi ili zadnji datum u Date_Column trenutnom kontekstu. To može biti korisno kada želite pronaći prvi ili zadnji datum kada ste imali transakciju određene vrste. Te funkcije koriste samo jedan argument, naziv stupca datuma u tablici datuma.
Sljedeće dvije funkcije u ovoj kategoriji pronaći će prvi ili zadnji datum (ili bilo koju drugu vrijednost stupca) u kojoj izraz sadrži vrijednost koja nije prazna. To se najčešće koristi u situacijama kao što je inventar, gdje želite dobiti zadnji iznos zaliha, a ne znate kada je zadnji inventar snimljen.
-
FIRSTNONBLANK (Date_Column, izraz)
-
LASTNONBLANK (Date_Column, izraz)
Još šest funkcija koje vraćaju jedan datum funkcije su koje vraćaju prvi ili zadnji datum mjeseca, tromjesečja ili godine unutar trenutnog konteksta izračuna.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Funkcije koje vraćaju tablicu datuma
Postoji šesnaest funkcija inteligencije vremena koje vraćaju tablicu datuma. Najčešće će se te funkcije koristiti kao argument SetFilter za funkciju CALCULATE . Baš kao i sve funkcije inteligencije vremena u DAX-u, svaka funkcija kao jedan od argumenata uzima stupac datuma.
Prvih osam funkcija u ovoj kategoriji počinje stupcem datuma u trenutnom kontekstu. Ako, primjerice, koristite mjeru u zaokretnoj tablici, na natpisima stupaca ili natpisima redaka može biti mjesec ili godina. Neto efekt je stupac datuma filtriran tako da obuhvaća samo datume za trenutni kontekst. Počevši od tog trenutnog konteksta, te osam funkcija zatim izračunavaju prethodni (ili sljedeći) dan, mjesec, tromjesečje ili godinu i vraćaju te datume u obliku tablice s jednim stupcem. "Prethodne" funkcije funkcioniraju unatrag od prvog datuma u trenutnom kontekstu, a funkcije "sljedeće" pomičite se naprijed od zadnjeg datuma u trenutnom kontekstu.
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
SLJEDEĆI DAN (Date_Column)
-
SLJEDEĆI MJESEC (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Sljedeće četiri funkcije u ovoj kategoriji slične su, ali umjesto izračuna prethodnog (ili sljedećeg) razdoblja izračunavaju skup datuma u razdoblju koje je "mjesec-do-datum" (ili od tromjesečja do datuma ili iz godine u godinu ili u istom razdoblju prethodne godine). Sve te funkcije izvode izračune pomoću zadnjeg datuma u trenutnom kontekstu. Imajte na umu da FUNKCIJA SAMEPERIODLASTYEAR zahtijeva da trenutni kontekst sadrži skup susjednih datuma. Ako trenutni kontekst nije skup susjednih datuma, SAMEPERIODLASTYEAR vratit će pogrešku.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
Zadnje četiri funkcije u ovoj kategoriji su malo složenije, a i malo snažnije. Te se funkcije koriste za prebacivanje s skupa datuma koji se nalaze u trenutnom kontekstu na 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 završnog datuma. Preostale tri funkcije prebacuju određeni broj vremenskih intervala iz trenutnog konteksta. Interval može biti dan, mjesec, tromjesečje ili godina. Te funkcije olakšavaju pomicanje vremenskog intervala za izračun za nešto od sljedećeg:
-
Vrati se dvije godine
-
Vraćanje za mjesec dana
-
Idite naprijed tri četvrtine
-
Povratak za 14 dana
-
Prelazak naprijed za 28 dana
U svakom slučaju potrebno je navesti samo interval i koliko će se intervala pomaknuti. Pozitivni će se interval u vremenu pomicati unaprijed, a negativni će se interval vratiti u vremenu. Sam interval naveden je ključnom riječi DAY, MONTH, QUARTER ili YEAR. Te ključne riječi nisu nizovi, pa ne bi trebale biti u navodnicima.
Funkcije koje vrednuju izraze tijekom vremenskog razdoblja
Ova kategorija funkcija procjenjuje izraz tijekom navedenog vremenskog razdoblja. To možete postići pomoću funkcija CALCULATE i drugih funkcija inteligencije vremena. Na primjer:
= TOTALMTD (izraz, Date_Column [, SetFilter])
je točno isto što i:
= CALCULATE (izraz, DATESMTD (Date_Column)[, SetFilter])
No jednostavnije je koristiti te funkcije inteligencije vremena kada su u dobrom skladu s problemom koji se mora riješiti:
-
TOTALMTD (izraz, Date_Column [, SetFilter])
-
TOTALQTD (izraz, Date_Column [, SetFilter])
-
TOTALYTD (izraz, Date_Column [, SetFilter] [,YE_Date]) *
Također u ovoj kategoriji su grupa funkcija koje izračunavaju otvaranje i zatvaranje salda. S tim biste određenim funkcijama trebali razumjeti određene koncepte. Kao prvo, kao što biste mogli smatrati očitim, ravnoteža otvaranja za bilo koje razdoblje jednaka je završnom saldu za prethodno razdoblje. Završni saldo obuhvaća sve podatke do kraja razdoblja, dok saldo otvaranja ne obuhvaća podatke iz trenutnog razdoblja.
Te funkcije uvijek vraćaju vrijednost izraza izračunatog za određenu vremensku točku. Točka u vremenu do koje nam je stalo uvijek je zadnja moguća vrijednost datuma u kalendarskom razdoblju. Saldo otvaranja temelji se na posljednjem datumu prethodnog razdoblja, dok se završni saldo temelji na posljednjem datumu u trenutnom razdoblju. Trenutno razdoblje uvijek se određuje zadnjim datumom u kontekstu trenutnog datuma.
-
OPENINGBALANCEMONTH (izraz, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Kvartal (izraz, Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (izraz, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (izraz, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (izraz, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (izraz, Date_Column [,SetFilter] [,YE_Date])
Dodatni resursi
Članci: Razumijevanje i stvaranje tablica datuma u dodatku Power Pivot u programu Excel
Referenca: Referenca funkcije DAXna Office.com