Sjefen ber om en rapport som viser omsetning hittil i år sammenlignet med samme periode i fjor. Du har tallene, men å filtrere manuelt for riktige datoperioder er tungvint og feilutsatt. DAX har innebygde funksjoner som gjør nettopp dette, og de kalles tidsintelligensfunksjoner.
Forutsetningen: en ren datotabell
Tidsintelligensfunksjoner i DAX krever en sammenhengende datotabell. Tabellen må ha en rad for hver dag i perioden du dekker, uten hull. Mangler det datoer, gir funksjonene feil resultater eller feiler helt.
Du kan lage en datotabell i DAX med CALENDARAUTO() eller CALENDAR(). CALENDARAUTO skanner datamodellen og lager en tabell som dekker alle datoer fra tidligste til seneste dato i datasettet. CALENDAR lar deg spesifisere start- og sluttdato selv:
Dato = CALENDAR(DATE(2020, 1, 1), DATE(2026, 12, 31))
Etter at tabellen er opprettet, legger du til kolonner for år, måned, kvartal og ukenummer. Merk tabellen som datotabell i Power BI ved å høyreklikke og velge Mark as Date Table. Uten denne markeringen kan tidsintelligensfunksjonene oppføre seg uforutsigbart. Husk også å opprette en relasjon mellom datotabellen og datofeltene i faktatabellene dine. Mer om datohåndtering og datamodellering finner du i vår dataguide.
TOTALYTD: hittil i år
TOTALYTD beregner en akkumulert sum fra starten av året til gjeldende dato i filterkonteksten. Den er perfekt for rapporter som viser løpende omsetning gjennom året.
Salg YTD = TOTALYTD(SUM(Salg[Beloep]), Dato[Dato])
Legger du dette measuret i et linjediagram med måneder på x-aksen, ser du en stigende kurve som starter på null i januar og akkumulerer gjennom året. Hvert datapunkt viser totalt salg fra 1. januar til og med den aktuelle måneden.
TOTALYTD har et valgfritt tredje argument for å definere regnskapsår. Driver bedriften med regnskapsår som starter 1. april, skriver du:
Salg FY YTD = TOTALYTD(SUM(Salg[Beloep]), Dato[Dato], "3/31")
Nå starter akkumuleringen 1. april i stedet for 1. januar.
SAMEPERIODLASTYEAR: sammenlign med i fjor
SAMEPERIODLASTYEAR returnerer de tilsvarende datoene fra forrige år. Kombinert med CALCULATE lager du enkelt et measure som viser fjorårets tall i samme periode:
Salg Forrige Aar = CALCULATE(SUM(Salg[Beloep]), SAMEPERIODLASTYEAR(Dato[Dato]))
Filtrerer rapporten på mars 2026, viser dette measuret salget for mars 2025. Filtrerer du på Q1 2026, viser det Q1 2025. Funksjonen tilpasser seg automatisk til gjeldende filterkontekst.
Med dette measuret på plass kan du beregne vekst:
Vekst YoY = DIVIDE([Total Salg] - [Salg Forrige Aar], [Salg Forrige Aar], 0)
Formater dette som prosent, og du har et dynamisk measure som viser prosentvis endring fra år til år. Legg det i en tabell sammen med [Total Salg] og [Salg Forrige Aar] for en komplett sammenligningsrapport.
DATEADD: fleksibel tidsforskyvning
DATEADD er mer fleksibel enn SAMEPERIODLASTYEAR fordi du kan forskyve med et vilkårlig antall dager, måneder, kvartaler eller år. Vil du sammenligne med forrige måned?
Salg Forrige Maaned = CALCULATE(SUM(Salg[Beloep]), DATEADD(Dato[Dato], -1, MONTH))
Trenger du å sammenligne med to kvartaler tilbake?
Salg 2 Kvartal Siden = CALCULATE(SUM(Salg[Beloep]), DATEADD(Dato[Dato], -2, QUARTER))
DATEADD tar tre argumenter: datokolonnen, antall perioder (negativt tall for bakover i tid) og periodetypen (DAY, MONTH, QUARTER eller YEAR). Denne fleksibiliteten gjør DATEADD til arbeidshesten for de fleste periode-over-periode-sammenligninger.
DATESYTD og DATESQTD
DATESYTD returnerer alle datoer fra starten av året til gjeldende dato. DATESQTD gjør det samme for kvartalet. Disse funksjonene brukes som filterargumenter i CALCULATE og gir deg samme resultat som TOTALYTD, men med mer fleksibilitet.
Salg QTD = CALCULATE(SUM(Salg[Beloep]), DATESQTD(Dato[Dato]))
Forskjellen fra TOTALYTD er at DATESYTD og DATESQTD er filterfunksjoner du kan kombinere med andre filtre i CALCULATE. Vil du for eksempel se YTD-salg bare for en bestemt produktkategori, er DATESYTD enklere å kombinere:
Salg YTD Elektronikk = CALCULATE(SUM(Salg[Beloep]), DATESYTD(Dato[Dato]), Produkt[Kategori] = "Elektronikk")
Løpende totaler
En løpende total viser akkumulert verdi over tid, men trenger ikke å starte på nytt ved årsskiftet. Du kan lage dette med CALCULATE og en kombinasjon av FILTER og ALL:
Lopende Total = CALCULATE(SUM(Salg[Beloep]), FILTER(ALL(Dato[Dato]), Dato[Dato] <= MAX(Dato[Dato])))
Denne formelen fjerner alle datofiltre med ALL og legger til et nytt filter som inkluderer alle datoer opp til og med den siste datoen i gjeldende filterkontekst. Resultatet er en akkumulert sum som aldri nullstilles.
Måned-over-måned med PARALLELPERIOD
PARALLELPERIOD ligner DATEADD, men returnerer hele perioden i stedet for å forskyve enkeltdatoer. PARALLELPERIOD(Dato[Dato], -1, MONTH) returnerer hele forrige måned, selv om gjeldende filter bare dekker deler av en måned.
Salg Hel Forrige Maaned = CALCULATE(SUM(Salg[Beloep]), PARALLELPERIOD(Dato[Dato], -1, MONTH))
Denne subtile forskjellen betyr noe når brukere filtrerer på enkeltdager eller uker. DATEADD forskyver de eksakte datoene, mens PARALLELPERIOD alltid gir deg en komplett periode.
Vanlige feller
Den hyppigste feilen er manglende eller ufullstendig datotabell. Hvis datotabellen har hull, for eksempel manglende helger, gir YTD-beregninger feil tall. Sjekk alltid at tabellen har en sammenhengende rekke datoer.
En annen felle er å glemme å markere tabellen som datotabell. Uten denne markeringen bruker Power BI sin egen interne datohierarki, som kan gi uventede resultater med tidsintelligensfunksjoner.
Pass også på at du bruker datokolonnen fra datotabellen i DAX-formlene, ikke datokolonnen fra faktatabellen. Tidsintelligensfunksjonene forventer en kolonne fra en markert datotabell.
Bygg sammenligningsrapporten
Med funksjonene du nå kjenner kan du bygge en komplett rapport. Lag en tabell med måneder på radene og følgende measures som kolonner: [Total Salg], [Salg YTD], [Salg Forrige Aar] og [Vekst YoY]. Legg til en slicer for år, og du har en dynamisk sammenligningsrapport som oppdaterer seg automatisk.
Kombiner dette med linjediagrammer og kombinasjonsdiagrammer for å visualisere trender over tid. Et linjediagram med [Total Salg] og [Salg Forrige Aar] som to serier gir umiddelbar innsikt i utviklingen.
For en komplett liste over tidsintelligensfunksjoner i DAX, se Microsofts DAX-referanse.
Vil du bygge tidsintelligensmeasures med veiledning steg for steg? Power BI-kurset tar deg gjennom YTD, periode-over-periode og løpende totaler med praktiske øvelser og reelle datasett.




