Del via


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, QUARTERog 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 er DAY, MONTH, QUARTERog YEAR. 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 den dates kolonnen starter fra 1. juli 2017 og den start_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.

Tidsintelligensfunksjoner (DAX)funksjoner for dato og klokkeslett (DAX)DATESBETWEEN (DAX)