Izrazi za analizo podatkov (DAX) imajo 35 funkcij, ki so posebej namenjene združevanju in primerjanju podatkov skozi čas. Za razliko od DAX-ovih funkcij datuma in časa, funkcije časovne inteligence v Excelu v resnici nimajo nič podobnega. To je zato, ker funkcije časovnega obveščanja delujejo s podatki, ki se nenehno spreminjajo, odvisno od konteksta, ki ga izberete v vrtilnih tabelah in ponazoritvah Power View.
Če želite delati s funkcijami časovne inteligence, morate imeti datumsko tabelo vključeno v podatkovni model. Tabela z datumi mora vsebovati stolpec z eno vrstico za vsak dan vsakega leta, ki je vključen v podatke. Ta stolpec se šteje za stolpec »Datum« (čeprav ga lahko poimenujete, kakor želite). Številne funkcije časovnega obveščanja zahtevajo stolpec z datumom, da lahko izračunajo glede na datume, ki jih izberete kot polja v poročilu. Če imate na primer mero, ki izračuna končno stanje ob koncu četrtletja s funkcijo CLOSINGBALANCEQTR, se mora Power Pivot sklicevati na stolpec z datumom v datumski tabeli, da bi vedel, kdaj se četrtletje začne in konča. Če želite izvedeti več o datumskih tabelah, si oglejte Razumevanje in ustvarjanje datumskih 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 v trenutnem kontekstu. To je lahko uporabno, če želite poiskati prvi ali zadnji datum, ko ste imeli transakcijo določene vrste. Te funkcije imajo samo en argument, ime stolpca z datumom v datumski tabeli.
- PRVI ZMENEK (Date_Column)
- ZADNJI DATUM (Date_Column)
Naslednji dve funkciji v tej kategoriji poiščeta prvi ali zadnji datum (ali tudi katero koli drugo vrednost stolpca), kjer ima izraz vrednost, ki ni prazna. To se najpogosteje uporablja v situacijah, kot je inventar, kjer želite dobiti zadnji znesek zalog in ne veste, kdaj je bil opravljen zadnji inventar.
- FIRSTNONBLANK (Date_Column, izraz)
- LASTNONBLANK (Date_Column, izraz)
Še šest funkcij, ki vrnejo en datum, so funkcije, ki vrnejo prvi ali zadnji datum v mesecu, četrtletju ali letu v trenutnem kontekstu izračuna.
- ZAČETEK MESECA (Date_Column)
- ZAČETEK ČETRTLETJA (Date_Column)
- ZAČETEK LETA (Date_Column [YE_Date])
- KONEC MESECA (Date_Column)
- KONEC ČETRTLETJA (Date_Column)
- KONEC LETA (Date_Column [YE_Date])
Funkcije, ki vrnejo tabelo datumov
Obstaja šestnajst funkcij časovne inteligence, ki vrnejo tabelo datumov. Najpogosteje bodo te funkcije uporabljene kot argument »SetFilter« za funkcijo CALCULATE . Tako kot vse funkcije časovne inteligence v jeziku DAX vsaka funkcija vzame stolpec z datumom kot enega od svojih argumentov.
Prvih osem funkcij v tej kategoriji se začne z datumskim stolpcem v trenutnem kontekstu. Če na primer uporabljate mero v vrtilni tabeli, je lahko na oznakah stolpcev ali oznakah vrstic mesec ali leto. Neto učinek je, da je stolpec z datumom filtriran tako, da vključuje samo datume za trenutni kontekst. Izhajajoč iz tega trenutnega konteksta, teh osem funkcij izračuna prejšnji (ali naslednji) dan, mesec, četrtletje ali leto in vrne te datume v obliki tabele z enim stolpcem. Funkcije »prejšnja« delujejo nazaj od prvega datuma v trenutnem kontekstu, funkcije »naslednje« pa se premaknejo naprej od zadnjega datuma v trenutnem kontekstu.
- PREJŠNJIDAN (Date_Column)
- PREJŠNJIMESEC (Date_Column)
- PREJŠNJE ČETRTLETJE (Date_Column)
- PREJŠNJE LETO (Date_Column [YE_Date])
- NASLEDNJI DAN (Date_Column)
- NASLEDNJI MESEC (Date_Column)
- NASLEDNJE ČETRTLETJE (Date_Column)
- NASLEDNJE LETO (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, od začetka leta ali v isto obdobje prejšnjega leta). Vse te funkcije izvajajo svoje izračune z uporabo zadnjega datuma v trenutnem kontekstu. Upoštevajte, da SAMEPERIODLASTYEAR zahteva, da trenutni kontekst vsebuje sosednji nabor datumov. Če trenutni kontekst ni neprekinjen nabor datumov, bo funkcija SAMEPERIODLASTYEAR vrnila napako.
- DATUMSMTD (Date_Column)
- DATESQTD (Date_Column)
- DATESYTD (Date_Column [YE_Date])
- ISTO obdobjeprejšnje leto (Date_Column)
Zadnje štiri funkcije v tej kategoriji so nekoliko bolj zapletene in tudi nekoliko močnejš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)
- DATUMIBETWEEN (Date_Column, Start_Date, End_Date)
- DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, interval)
- VZPOREDNO obdobje (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. S temi funkcijami lahko časovni interval za izračun preprosto premaknete s katerim koli od naslednjih načinov:
- Vrnitev dve leti nazaj
- Vrnitev za en mesec nazaj
- Pojdite naprej tri četrtine
- Vrnitev nazaj 14 dni
- Pojdi naprej 28 dni
V vsakem primeru morate določiti le, kateri interval in koliko teh intervalov želite premakniti. Pozitivni interval se bo premaknil naprej v času, medtem ko se bo negativni interval premaknil nazaj v času. 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 določenem časovnem obdobju
Ta kategorija funkcij ovrednoti izraz v določenem časovnem obdobju. Enako lahko dosežete z uporabo funkcije CALCULATE in drugih funkcij časovne inteligence. Primer:
= TOTALMTD (Izraz, Date_Column [, NastaviFilter])
je popolnoma enako kot:
= CALCULATE (Izraz, DATESMTD (Date_Column)[, NastaviFilter])
Vendar pa je lažje uporabiti te funkcije časovne inteligence, če so primerne za problem, ki ga je treba rešiti:
- TOTALMTD (izraz, Date_Column [, NastaviFilter])
- TOTALQTD (izraz, Date_Column [, NastaviFilter])
- TOTALYTD (Izraz, Date_Column [, NastaviFilter] [,YE_Date]) *
V tej kategoriji je tudi skupina funkcij, ki izračunavajo začetna in končna stanja. Obstajajo določeni koncepti, ki jih morate razumeti s temi posebnimi funkcijami. Prvič, kot se vam zdi očitno, je začetno stanje za katero koli obdobje enako končnemu stanju za prejšnje obdobje. Končna bilanca vključuje vse podatke do konca obdobja, medtem ko začetna bilanca ne vključuje podatkov iz tekočega obdobja.
Te funkcije vedno vrnejo vrednost izraza, ovrednotenega za določeno časovno točko. Točka v času, ki nas zanima, je vedno zadnja možna vrednost datuma v koledarskem obdobju. Začetno stanje temelji na zadnjem datumu prejšnjega obdobja, končno stanje pa na zadnjem datumu v tekočem obdobju. Trenutno obdobje je vedno določeno z zadnjim datumom v kontekstu trenutnega datuma.
- OPENINGBALANCEMONTH (izraz, Date_Column [,SetFilter])
- OPENINGBALANCEQUARTER Četrtina (izraz, Date_Column [,NastaviFilter])
- OPENINGBALANCEYEAR (izraz, Date_Column [,SetFilter] [YE_Date])
- CLOSINGBALANCEMONTH (izraz, Date_Column [,SetFilter])
- CLOSINGBALANCEQUARTER (izraz, Date_Column [,NastaviFilter])
- CLOSINGBALANCEYEAR (Izraz, Date_Column [,NastaviFilter] [YE_Date])
Dodatni viri
Članki: Razumevanje in ustvarjanje datumskih tabel v dodatku Power Pivot v Excelu
Sklic: Sklic na funkcijo DAX na Office.com
Vzorci: Modeliranje in analiza podatkov o dobičku in izgubi z orodjem Microsoft PowerPivot v Excelu