DATESINPERIOD
gjelder:beregnet kolonneberegnet tabellmålevisualobjektberegning
Notat
Denne funksjonen frarådes for bruk i visuelle beregninger da den sannsynligvis returnerer meningsløse resultater.
Returnerer en tabell som inneholder en kolonne med datoer som begynner med en angitt startdato og fortsetter for det angitte antallet og typen datointervaller.
Denne funksjonen er egnet til å overføres som et filter til CALCULATE-funksjonen. Bruk det til å filtrere et uttrykk etter standard datointervaller, for eksempel dager, måneder, kvartaler eller år.
Syntaks
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parametere
Vilkår | Definisjon |
---|---|
dates |
En datokolonne. |
start_date |
Et datouttrykk. |
number_of_intervals |
Et heltall som angir antall intervaller som skal legges til, eller trekkes fra, datoene. |
interval |
Intervallet for å forskyve datoene. Verdien for intervallet kan være ett av følgende: DAY , MONTH , QUARTER og YEAR |
Returverdi
En tabell som inneholder én enkelt kolonne med datoverdier.
Merknader
I det vanligste brukstilfellet er
dates
en referanse til datokolonnen i en merket datotabell.Hvis tallet som er angitt for
number_of_intervals
er positivt, flyttes datoer fremover i tid. Hvis tallet er negativt, flyttes datoer bakover i tid.Parameteren
interval
er en opplisting. Gyldige verdier erDAY
,MONTH
,QUARTER
ogYEAR
. Fordi det er en opplisting, sendes ikke verdier inn som strenger. Så ikke omslutte dem i anførselstegn.Den returnerte tabellen kan bare inneholde datoer som er lagret i den
dates
kolonnen. Så hvis for eksempel dendates
kolonnen starter fra 1. juli 2017 og denstart_date
verdien er 1. juli 2016, starter den returnerte tabellen fra 1. juli 2017.Denne funksjonen støttes ikke for bruk i DirectQuery-modus når den brukes i beregnede kolonner eller regler for sikkerhet på radnivå (RLS).
Eksempel
Følgende Måldefinisjon for salg tabell bruker DATESINPERIOD-funksjonen til å beregne omsetning for foregående år (PY).
Legg merke til at formelen bruker MAX-funksjonen. Denne funksjonen returnerer den siste datoen som er i filterkonteksten. Så DATESINPERIOD-funksjonen returnerer en tabell med datoer som begynner fra den siste datoen for det siste året.
Eksempler i denne artikkelen kan brukes med eksempelmodellen Adventure Works DW 2020 Power BI Desktop. Hvis du vil ha modellen, kan du se DAX eksempelmodell.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Vurder at rapporten filtreres etter juni måned 2020. Funksjonen MAX returnerer 30. juni 2020. Funksjonen DATESINPERIOD returnerer deretter et datointervall fra 1. juli 2019 til 30. juni 2020. Det er et år med datoverdier fra og med 30. juni 2020 for det siste året.
Relatert innhold
Tidsintelligensfunksjoner (DAX)funksjoner for dato og klokkeslett (DAX)DATESBETWEEN (DAX)