Data Analysis Expressions (DAX) har 35 funksjoner spesielt for aggregering og sammenligning av data over tid. I motsetning til DAX-funksjonene for dato og klokkeslett har ikke tidsintelligensfunksjoner noe lignende i Excel. Dette er fordi tidsintelligensfunksjoner fungerer med data som er i stadig endring, avhengig av konteksten du velger i pivottabeller og Power View-visualiseringer.
Hvis du vil arbeide med tidsintelligensfunksjoner, må du ha en datotabell inkludert i datamodellen. Datotabellen må inneholde en kolonne med én rad for hver dag i hvert år som er inkludert i dataene. Denne kolonnen anses å være Dato-kolonnen (selv om den kan kalles hva du vil). Mange tidsintelligensfunksjoner krever datokolonnen for å beregne i henhold til datoene du velger som felt i en rapport. Hvis du for eksempel har et mål som beregner en avslutningskvartalssaldo ved hjelp av CLOSINGBALANCEQTR-funksjonen, for at Power Pivot skal vite når slutten av kvartalet egentlig er det, må den referere til datokolonnen i datotabellen for å vite når kvartalet starter og slutter. Hvis du vil lære mer om datotabeller, kan du ta en titt på Forstå og opprette datotabeller i Power Pivot i Excel.
Funksjoner
Funksjoner som returnerer én enkelt dato
Funksjoner i denne kategorien returnerer én enkelt dato. Resultatet kan deretter brukes som argumenter til andre funksjoner.
De to første funksjonene i denne kategorien returnerer den første eller siste datoen i Date_Column i gjeldende kontekst. Dette kan være nyttig når du vil finne den første eller siste datoen du hadde en transaksjon av en bestemt type. Disse funksjonene tar bare ett argument, navnet på datokolonnen i datotabellen.
De neste to funksjonene i denne kategorien finner den første eller siste datoen (eller en annen kolonneverdi også) der et uttrykk har en verdi som ikke er tom. Dette brukes oftest i situasjoner som beholdning, der du vil hente det siste lagerbeløpet, og du vet ikke når den siste beholdningen ble tatt.
-
FIRSTNONBLANK (Date_Column, Uttrykk)
-
LASTNONBLANK (Date_Column, Uttrykk)
Seks flere funksjoner som returnerer én enkelt dato, er funksjonene som returnerer den første eller siste datoen i en måned, et kvartal eller et år innenfor den gjeldende konteksten for beregningen.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Funksjoner som returnerer en tabell med datoer
Det finnes seksten tidsintelligensfunksjoner som returnerer en tabell med datoer. Som oftest brukes disse funksjonene som et SetFilter-argument til CALCULATE-funksjonen . Akkurat som alle tidsintelligensfunksjoner i DAX, tar hver funksjon en datokolonne som ett av argumentene.
De første åtte funksjonene i denne kategorien starter med en datokolonne i en gjeldende kontekst. Hvis du for eksempel bruker et mål i en pivottabell, kan det være en måned eller et år på kolonneetikettene eller radetikettene. Nettoeffekten er datokolonnen som filtreres for å bare inkludere datoene for gjeldende kontekst. Fra den gjeldende konteksten beregner disse åtte funksjonene deretter forrige (eller neste) dag, måned, kvartal eller år, og returnerer disse datoene i form av en enkelt kolonnetabell. De «forrige» funksjonene arbeider bakover fra den første datoen i gjeldende kontekst, og «neste»-funksjonene flyttes fremover fra siste dato i gjeldende kontekst.
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
NESTE DAG (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
De neste fire funksjonene i denne kategorien er like, men i stedet for å beregne en tidligere (eller neste) periode, beregner de settet med datoer i perioden som er "måned-til-dato" (eller kvartal-til-dato, eller hittil i år, eller i samme periode i forrige år). Disse funksjonene utfører alle sine beregninger ved hjelp av den siste datoen i gjeldende kontekst. Vær oppmerksom på at SAMEPERIODLASTYEAR krever at gjeldende kontekst inneholder et sammenhengende sett med datoer. Hvis gjeldende kontekst ikke er et sammenhengende sett med datoer, returnerer SAMEPERIODLASTYEAR en feil.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
De fire siste funksjonene i denne kategorien er litt mer komplekse, og også litt kraftigere. Disse funksjonene brukes til å skifte fra datosettet som er i gjeldende kontekst til et nytt sett med datoer.
-
DATEADD (Date_Column, Number_of_Intervals, Intervall)
-
DATESBETWEEN (Date_Column, Start_Date, End_Date)
-
DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Intervall)
-
PARALLELPERIOD (Date_Column, Number_of_Intervals, Intervall)
DATESBETWEEN beregner datosettet mellom den angitte startdatoen og sluttdatoen. De resterende tre funksjonene flytter et antall tidsintervaller fra gjeldende kontekst. Intervallet kan være dag, måned, kvartal eller år. Disse funksjonene gjør det enkelt å forskyve tidsintervallet for en beregning av ett av følgende:
-
Gå tilbake to år
-
Gå tilbake én måned
-
Gå tre fjerdedeler fremover
-
Gå tilbake 14 dager
-
Gå fremover 28 dager
I hvert tilfelle trenger du bare å angi hvilket intervall, og hvor mange av disse intervallene som skal skiftes. Et positivt intervall flyttes fremover i tid, mens et negativt intervall flyttes tilbake i tid. Selve intervallet angis med et nøkkelord for DAG, MÅNED, KVARTAL eller ÅR. Disse nøkkelordene er ikke strenger, så de bør ikke være i anførselstegn.
Funksjoner som evaluerer uttrykk over en tidsperiode
Denne funksjonskategorien evaluerer et uttrykk over en angitt tidsperiode. Du kan oppnå det samme ved hjelp av CALCULATE og andre tidsintelligensfunksjoner. Eksempler:
= TOTALMTD (Uttrykk, Date_Column [, SetFilter])
er nøyaktig det samme som:
= CALCULATE (Uttrykk, DATESMTD (Date_Column)[, SetFilter])
Det er imidlertid enklere å bruke disse tidsintelligensfunksjonene når de passer godt til problemet som må løses:
-
TOTALMTD (Uttrykk, Date_Column [, SetFilter])
-
TOTALQTD (Uttrykk, Date_Column [, SetFilter])
-
TOTALYTD (Uttrykk, Date_Column [, SetFilter] [,YE_Date]) *
I denne kategorien finner du også en gruppe funksjoner som beregner åpnings- og sluttsaldoer. Det finnes visse begreper du bør forstå med disse bestemte funksjonene. For det første, som du kanskje tror er opplagt, er åpningssaldoen for enhver periode den samme som sluttsaldoen for forrige periode. Sluttsaldoen inkluderer alle data gjennom slutten av perioden, mens åpningssaldoen ikke inkluderer data fra gjeldende periode.
Disse funksjonene returnerer alltid verdien til et uttrykk som evalueres for et bestemt tidspunkt. Tidspunktet vi bryr oss om, er alltid den siste mulige datoverdien i en kalenderperiode. Åpningssaldoen er basert på den siste datoen i forrige periode, mens sluttsaldoen er basert på den siste datoen i gjeldende periode. Gjeldende periode bestemmes alltid av den siste datoen i gjeldende datokontekst.
-
OPENINGBALANCEMONTH (Uttrykk, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Kvartal (uttrykk, Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (Uttrykk, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (Uttrykk, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Uttrykk, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (Uttrykk, Date_Column [,SetFilter] [,YE_Date])
Flere ressurser
Artikler: Forstå og opprette datotabeller i Power Pivot i Excel
Referanse: REFERANSE for DAX-funksjonpå Office.com
Eksempler: Modellering og analyse av resultatdata med Microsoft PowerPivot i Excel