DAX (Data Analysis Expressions) -lausekkeessa on 35 funktiota, jotka on tarkoitettu tietojen koostamiseen ja vertailuun ajan mittaan. Toisin kuin DAX:n päivämäärä- ja kellonaikafunktiot, Aikatietofunktioilla ei oikeastaan ole vastaavaa Excelissä. Tämä johtuu siitä, että aikatietofunktiot toimivat jatkuvasti muuttuvien tietojen kanssa pivot-taulukoissa ja Power View -visualisoinneissa valitsemasi kontekstin mukaan.
Jotta voit käyttää aikatietofunktioita, tietomalliin on sisällytettävä päivämäärätaulukko. Päivämäärätaulukon on sisällettävä sarake, jossa on yksi rivi jokaiselle tietoihin sisältyvälle vuoden päivälle. Tätä saraketta pidetään Päivämäärä-sarakkeena (vaikka se voidaan nimetä haluamallasi tavalla). Monet aikatietofunktiot vaativat päivämääräsarakkeen, jotta ne voidaan laskea raportin kentiksi valitsemiesi päivämäärien mukaan. Jos sinulla on esimerkiksi mittayksikkö, joka laskee loppuneljännessaldon CLOSINGBALANCEQTR-funktion avulla, jotta Power Pivot tietää, milloin vuosineljänneksen loppu on, sen on viitattava päivämäärätaulukon päivämääräsarakkeeseen, jotta se tietää, milloin vuosineljännes alkaa ja päättyy. Lisätietoja päivämäärätaulukoista on artikkelissa Päivämäärätaulukoiden ymmärtäminen ja luominen Excelin Power Pivotissa.
Funktiot
Funktiot, jotka palauttavat yhden päivämäärän
Tämän luokan funktiot palauttavat yhden päivämäärän. Tulosta voidaan sitten käyttää argumentteina muille funktioille.
Tämän luokan kaksi ensimmäistä funktiota palauttavat Date_Column ensimmäisen tai viimeisen päivämäärän nykyisessä kontekstissa. Tästä voi olla hyötyä, kun haluat löytää ensimmäisen tai viimeisen päivämäärän, jolloin sinulla oli tietyntyyppinen tapahtuma. Nämä funktiot ottavat vain yhden argumentin, päivämäärätaulukon päivämääräsarakkeen nimen.
Tämän luokan kaksi seuraavaa funktiota löytävät ensimmäisen tai viimeisen päivämäärän (tai minkä tahansa muun sarakkeen arvon), jossa lausekkeella on muu kuin tyhjä arvo. Tätä käytetään useimmiten esimerkiksi varastossa, jossa haluat saada viimeisen varastosumman etkä tiedä, milloin viimeinen varasto on otettu.
-
FIRSTNONBLANK (Date_Column, lauseke)
-
LASTNONBLANK (Date_Column, lauseke)
Kuusi muuta funktiota, jotka palauttavat yhden päivämäärän, ovat funktioita, jotka palauttavat kuukauden, vuosineljänneksen tai vuoden ensimmäisen tai viimeisen päivämäärän laskutoimituksen nykyisessä kontekstissa.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Funktiot, jotka palauttavat päivämäärätaulukon
Päivämäärätaulukon palauttavat 16 aikatietofunktiota. Useimmiten näitä funktioita käytetään LASKE-funktion SetFilter-argumenttina. Kuten kaikki DAX:n aikatietofunktiot, jokainen funktio käyttää päivämääräsaraketta argumenttinaan.
Tämän luokan kahdeksan ensimmäistä funktiota alkavat päivämääräsarakkeesta nykyisessä kontekstissa. Jos esimerkiksi käytät mittayksikköä Pivot-taulukossa, sarakeotsikoissa tai riviotsikoissa voi olla kuukausi tai vuosi. Nettotehoste on päivämääräsarake, joka suodatetaan sisältämään vain nykyisen kontekstin päivämäärät. Tästä nykyisestä kontekstista alkaen nämä kahdeksan funktiota laskevat edellisen (tai seuraavan) päivän, kuukauden, vuosineljänneksen tai vuoden ja palauttavat kyseiset päivämäärät yksittäisen saraketaulukon muodossa. Edelliset funktiot toimivat taaksepäin nykyisen kontekstin ensimmäisestä päivämäärästä ja "seuraava"-funktiot siirtyvät eteenpäin nykyisen kontekstin viimeisestä päivämäärästä.
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
NEXTDAY (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Tämän luokan neljä seuraavaa funktiota ovat samankaltaisia, mutta edellisen (tai seuraavan) kauden laskemisen sijaan ne laskevat päivämääräjoukon kaudelta, joka on "kuukausittain" (tai vuosineljännes, vuosineljännes tai vuosineljännes tai sama ajanjakso kuin edellisenä vuonna). Kaikki nämä funktiot suorittavat laskutoimituksensa nykyisen kontekstin viimeisen päivämäärän avulla. Huomaa, että SAMEPERIODLASTYEAR edellyttää, että nykyinen konteksti sisältää peräkkäiset päivämäärät. Jos nykyinen konteksti ei ole yhtenäinen päivämääräjoukko, SAMEPERIODLASTYEAR palauttaa virheen.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
Tämän luokan neljä viimeistä funktiota ovat hieman monimutkaisempia ja myös hieman tehokkaampia. Näiden funktioiden avulla voit siirtyä nykyisessä kontekstissa olevista päivämääristä uuteen päivämääräjoukkoon.
-
DATEADD (Date_Column, Number_of_Intervals, intervalli)
-
DATESBETEN (Date_Column, Start_Date, End_Date)
-
DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, intervalli)
-
PARALLELPERIOD (Date_Column, Number_of_Intervals, intervalli)
DATESBETWEEN laskee määritetyn alkamis- ja päättymispäivän välisten päivämäärien joukon. Loput kolme funktiota siirtävät aikavälejä nykyisestä kontekstista. Väli voi olla päivä, kuukausi, vuosineljännes tai vuosi. Näiden funktioiden avulla voit helposti siirtää laskutoimituksen aikaväliä jollakin seuraavista:
-
Kaksi vuotta taaksepäin
-
Palaa kuukauden taaksepäin
-
Siirry eteenpäin kolme neljännestä
-
Palaa 14 päivää taaksepäin
-
Siirry eteenpäin 28 päivää
Jokaisessa tapauksessa sinun tarvitsee vain määrittää, mikä aikaväli ja kuinka monta aikaväliä haluat siirtää. Positiivinen aikaväli siirtyy ajassa eteenpäin, kun taas negatiivinen aikaväli siirtyy ajassa taaksepäin. Itse aikaväli määritetään avainsanalla PÄIVÄ, KUUKAUSI, VUOSINELJÄNNES tai VUOSI. Nämä avainsanat eivät ole merkkijonoja, joten niiden ei pitäisi olla lainausmerkeissä.
Funktiot, jotka arvioivat lausekkeita ajanjakson aikana
Tämä funktioluokka arvioi lausekkeen määritetyllä aikavälillä. Voit suorittaa saman asian KÄYTTÄMÄLLÄ CALCULATE-funktiota ja muita aikatietofunktioita. Esimerkiksi...
= TOTALMTD (Lauseke, Date_Column [, SetFilter])
on täsmälleen sama kuin:
= CALCULATE (Lauseke, DATESMTD (Date_Column)[, SetFilter])
Näiden aikatietofunktioiden käyttäminen on kuitenkin helpompaa, kun ne sopivat hyvin ongelmaan, joka on ratkaistava:
-
TOTALMTD (lauseke, Date_Column [, SetFilter])
-
TOTALQTD (lauseke, Date_Column [, SetFilter])
-
TOTALYTD (lauseke, Date_Column [, SetFilter] [,YE_Date]) *
Tässä luokassa on myös joukko funktioita, jotka laskevat alku- ja loppusaldon. On tiettyjä käsitteitä, jotka sinun tulisi ymmärtää näiden erityisfunktioiden avulla. Ensinnäkin, kuten saatat ajatella ilmeiseksi, minkä tahansa kauden alkusaldo on sama kuin edellisen kauden loppusaldo. Loppusaldo sisältää kaikki tiedot kauden loppuun mennessä, kun taas alkusaldo ei sisällä tietoja kuluvalta ajanjaksolta.
Nämä funktiot palauttavat aina tietyn ajankohdan perusteella arvioidun lausekkeen arvon. Ajankohta, josta välitämme, on aina kalenterikauden viimeinen mahdollinen päivämääräarvo. Alkusaldo perustuu edellisen kauden viimeiseen päivämäärään, kun taas loppusaldo perustuu kuluvan kauden viimeiseen päivämäärään. Nykyinen kausi määräytyy aina nykyisen päivämääräkontekstin viimeisen päivämäärän mukaan.
-
OPENINGBALANCEMONTH (Lauseke, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Vuosineljännes (lauseke, Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (lauseke, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (Lauseke, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Lauseke, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (Lauseke, Date_Column [,SetFilter] [,YE_Date])
Lisäresursseja
Artikkelit: Päivämäärätaulukoiden ymmärtäminen ja luominen Excelin Power Pivotissa
Viite: DAX-funktioviittausOffice.com
Näytteet: Tulostietojen mallinnus ja analyysi Microsoft PowerPivotin avulla Excelissä