DATESINPERIOD
gælder for:beregnet kolonne
beregnet tabel
beregning af måling
visualisering
Seddel
Denne funktion frarådes til brug i visuelle beregninger da den sandsynligvis returnerer meningsløse resultater.
Returnerer en tabel, der indeholder en kolonne med datoer, der starter med en angivet startdato og fortsætter for det angivne tal og den angivne type datointervaller.
Denne funktion er velegnet til at overføre den CALCULATE funktion som et filter. Brug det til at filtrere et udtryk efter standarddatointervaller, f.eks. dage, måneder, kvartaler eller år.
Syntaks
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parametre
Udtryk | Definition |
---|---|
dates |
En datokolonne. |
start_date |
Et datoudtryk. |
number_of_intervals |
Et heltal, der angiver det antal intervaller, der skal føjes til eller trækkes fra datoerne. |
interval |
Det interval, datoerne skal flyttes med. Værdien for interval kan være en af følgende: DAY , MONTH , QUARTER og YEAR |
Returværdi
En tabel, der indeholder en enkelt kolonne med datoværdier.
Bemærkninger
I det mest almindelige tilfælde er
dates
en reference til datokolonnen i en markeret datotabel.Hvis det tal, der er angivet for
number_of_intervals
, er positivt, flyttes datoer fremad i tiden. Hvis tallet er negativt, flyttes datoer bagud i tiden.Parameteren
interval
er en optælling. Gyldige værdier erDAY
,MONTH
,QUARTER
ogYEAR
. Da det er en optælling, overføres værdier ikke som strenge. Så du skal ikke omslutte dem i anførselstegn.Den returnerede tabel kan kun indeholde datoer, der er gemt i kolonnen
dates
. Så hvis kolonnendates
f.eks. starter den 1. juli 2017, og denstart_date
værdi er den 1. juli 2016, starter den returnerede tabel fra den 1. juli 2017.Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).
Eksempel
I følgende målingsdefinitionen sales tabel bruger funktionen DATESINPERIOD til at beregne indtægten for det foregående år (PY).
Bemærk, at formlen bruger funktionen MAX. Denne funktion returnerer den seneste dato, der er i filterkonteksten. Funktionen DATESINPERIOD returnerer derfor en tabel med datoer, der starter fra den seneste dato for det sidste år.
Eksempler i denne artikel kan bruges sammen med eksempelmodellen Adventure Works DW 2020 Power BI Desktop. Hvis du vil hente modellen, skal du se DAX eksempelmodel.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Overvej, at rapporten er filtreret efter juni 2020. Funktionen MAX returnerer den 30. juni 2020. Funktionen DATESINPERIOD returnerer derefter et datointerval fra den 1. juli 2019 til den 30. juni 2020. Det er et år med datoværdier fra den 30. juni 2020 for det sidste år.
Relateret indhold
funktionen Time intelligence (DAX)funktionen Date and time (DAX)DATESBETWEEN (DAX)