Izrazi za analizo podatkov (DAX) ima 35 funkcij, ki so posebej na voljo za združevanje in primerjavo podatkov v določenem časovnem obdobju. Za razliko od funkcij za datum in čas jezika DAX funkcije podatkov o času v Excelu nimajo ničesar podobnega. To je zato, ker funkcije podatkov o času delujejo s podatki, ki se nenehno spreminjajo, odvisno od konteksta, ki ga izberete v vrtilnih tabelah in ponazoritev funkcije Power View.
Če želite delati s funkcijami za obveščanje o času, morate v podatkovni model vključiti datumsko tabelo. V tabeli z datumi mora biti stolpec z eno vrstico za vsak dan vsakega leta, ki je vključen v vaše podatke. Ta stolpec je stolpec »Datum« (čeprav ga lahko poinite, kakor želite). Številne funkcije podatkov o času zahtevajo stolpec »Datum« za izračun glede na datume, ki jih izberete kot polja v poročilu. Če imate na primer mero, s katero izračunate končno četrtletje s funkcijo CLOSINGBALANCEQTR in želite, da Power Pivot ve, kdaj je konec četrtletja res konec, se mora sklicevati na stolpec z datumom v tabeli z datumom, da ve, kdaj se četrtletje začne in konča. Če želite izvedeti več o datumski tabeli, si oglejte Razumevanje in ustvarjanje datumovih tabel v dodatku Power Pivot v Excelu.
Funkcije
Funkcije, ki vrnejo en datum
Funkcije v tej kategoriji vrnejo en datum. Rezultat lahko nato uporabite kot argumente za druge funkcije.
Prvi dve funkciji v tej kategoriji vrneta prvi ali zadnji datum v Date_Column trenutnem kontekstu. To je lahko koristno, ko želite poiskati prvi ali zadnji datum, ko ste imeli transakcijo določene vrste. Te funkcije uporabljajo le en argument, ime stolpca z datumom v datumski tabeli.
-
PRVIDATUM (Date_Column)
-
ZADNJIDATUM (Date_Column)
Naslednji dve funkciji v tej kategoriji poiščeta prvi ali zadnji datum (ali katero koli drugo vrednost stolpca), kjer ima izraz vrednost, ki ni prazna. To se najpogosteje uporablja v primerih, kot je zaloga, v katerih želite dobiti zadnjo količino inventarja, in ne veste, kdaj je bil posneti zadnji inventar.
-
FIRSTNONBLANK (Date_Column, Izraz)
-
LASTNONBLANK (Date_Column, izraz)
Šest dodatnih funkcij, ki vrnejo en datum, je funkcij, ki vrnejo prvi ali zadnji datum meseca, četrtletja ali leta v trenutnem kontekstu 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, ki vrnejo tabelo z datumi
Obstaja šestnajst funkcij za obveščanje o času, ki vrnejo tabelo datumov. Najpogosteje bodo te funkcije uporabljene kot argument SetFilter za funkcijo CALCULATE . Tako kot vse funkcije za obveščanje o času v daxu tudi vsaka funkcija uporablja stolpec z datumom kot enega od svojih argumentov.
Prvih osem funkcij v tej kategoriji se začne s stolpcem z datumom v trenutnem kontekstu. Če na primer uporabljate mero v vrtilni tabeli, je lahko na oznakah stolpcev ali v oznakah vrstic mesec ali leto. Neto učinek je stolpec z datumom, ki je filtriran tako, da vključuje le datume za trenutni kontekst. Od tega trenutnega konteksta naprej teh osem funkcij nato izračuna prejšnji (ali naslednji) dan, mesec, četrtletje ali leto in te datume vrne v obliki tabele z enim stolpcem. »Prejšnje« funkcije delujejo nazaj od prvega datuma v trenutnem kontekstu, »naprej« pa se funkcije premaknejo od zadnjega datuma v trenutnem kontekstu.
-
PREJŠNJI DAN (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [, YE_Date])
-
NASLEDNJI DAN (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Naslednje štiri funkcije v tej kategoriji so podobne, vendar namesto izračuna prejšnjega (ali naslednjega) obdobja izračunajo nabor datumov v obdobju, ki je »od meseca do datuma« (ali od četrtletja do datuma ali od leta do datuma ali v istem obdobju prejšnjega leta). Vse te funkcije izvajajo izračune z zadnjim datumom v trenutnem kontekstu. Upoštevajte, da SAMEPERIODLASTYEAR zahteva, da trenutni kontekst vsebuje neprekinjen niz datumov. Če trenutni kontekst ni neprekinjen niz datumov, funkcija SAMEPERIODLASTYEAR vrne napako.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
Zadnje štiri funkcije v tej kategoriji so nekoliko bolj zapletene in tudi nekoliko zmogljivejše. Te funkcije se uporabljajo za premik iz nabora datumov, ki so v trenutnem kontekstu, na nov nabor datumov.
-
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čuna nabor datumov med določenim začetnim in končnim datumom. Preostale tri funkcije premaknejo nekaj časovnih intervalov iz trenutnega konteksta. Interval je lahko dan, mesec, četrtletje ali leto. Te funkcije olajšajo premikanje časovnega intervala za izračun tako, da naredite nekaj od tega:
-
Vrnitev nazaj dve leti
-
Vrnitev nazaj za en mesec
-
Pomakniti se naprej za tri četrtletja
-
Vrnitev nazaj 14 dni
-
Pomakniti se naprej 28 dni
V vsakem primeru morate določiti le, kateri interval in koliko teh intervalov je treba prestaviti. Pozitivni interval se bo s časom premaknil naprej, medtem ko se bo negativni interval časovno premaknil nazaj. Sam interval je določen s ključno besedo DAY, MONTH, QUARTER ali YEAR. Te ključne besede niso nizi, zato ne smejo biti v narekovajih.
Funkcije, ki ovrednotijo izraze v časovnem obdobju
Ta kategorija funkcij ovrednoti izraz v določenem časovnem obdobju. Enako lahko dosežete s funkcijo CALCULATE in drugimi funkcijami za obveščanje o času. Primer:
= TOTALMTD (izraz, Date_Column [, SetFilter])
je popolnoma enako kot:
= CALCULATE (Izraz, DATESMTD (Date_Column)[, SetFilter])
Vendar pa je lažje uporabiti te funkcije za obveščanje o času, ko so dobre za težavo, ki jo je treba odpraviti:
-
TOTALMTD (izraz, Date_Column [, SetFilter])
-
TOTALQTD (izraz, Date_Column [, SetFilter])
-
TOTALYTD (izraz, Date_Column [, SetFilter] [,YE_Date]) *
V tej kategoriji so tudi skupine funkcij, ki izračunajo otvorilen in zaključni saldo. Obstajajo nekateri koncepti, ki jih morate razumeti s temi določenimi funkcijami. Kot se vam zdi očitno, je otvorivni saldo za katero koli obdobje enak končneu saldo za prejšnje obdobje. Zaključni saldo vključuje vse podatke do konca obdobja, medtem ko otvorni saldo ne vključuje nobenih podatkov iz trenutnega obdobja.
Te funkcije vedno vrnejo vrednost izraza, ovrednotenega za določeno časovno točko. Čas, ki nam je mar, je vedno zadnja možna datumska vrednost v koledarskem obdobju. Začetni saldo temelji na zadnjem datumu prejšnjega obdobja, končni saldo pa temelji na zadnjem datumu v tekočem obdobju. Trenutno obdobje je vedno določeno z zadnjim datumom v trenutnem kontekstu datuma.
-
OPENINGBALANCEMONTH (Izraz, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Četrtletje (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 viri
Članki: Razumevanje in ustvarjanje datumovih tabel v dodatku Power Pivot v Excelu
Sklic: Sklic funkcije DAXna Office.com
Vzorci: Modeliranje in analiza podatkov o dobičku in izgubi z dodatkom Microsoft PowerPivot v Excelu