Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
gjelder:
beregnet kolonne
beregnet tabell
måle
visualobjektberegning
Notat
Denne funksjonen frarådes for bruk i visuelle beregninger da den sannsynligvis returnerer meningsløse resultater.
For inndata for datokolonne returnerer du en tabell som inneholder en kolonne med datoer som begynner med en angitt startdato og fortsetter til en angitt sluttdato.
For kalenderinndata returnerer du en tabell som begynner med en angitt startdato og fortsetter til en angitt sluttdato. Tabellen inneholder alle primære merkede kolonner og alle tidsrelaterte kolonner.
Denne funksjonen er egnet til å overføres som et filter til CALCULATE-funksjonen. Bruk det til å filtrere et uttrykk etter et egendefinert datoområde.
Notat
Hvis du arbeider med standard datointervaller, for eksempel dager, måneder, kvartaler eller år, bruker du funksjonen som passer bedre DATESINPERIOD .
Syntaks
DATESBETWEEN(<dates or calendar>, <StartDate>, <EndDate>)
Parametere
| Vilkår | Definisjon |
|---|---|
dates or calendar |
En kolonne som inneholder datoer eller en kalenderreferanse |
StartDate |
Et dato/dag-uttrykk. Hvis du bruker kalendersyntaks, bruker du samme datatype som primærkolonnen som er merket til Dag-kategorien. |
EndDate |
Et dato/dag-uttrykk. Hvis du bruker kalendersyntaks, bruker du samme datatype som primærkolonnen som er merket til Dag-kategorien. |
Returverdi
For inndata for datokolonne, en tabell som inneholder én kolonne med datoverdier.
For kalenderinndata, en tabell som inneholder alle primærkodede kolonner og alle tidsrelaterte kolonner.
Merknader
I det vanligste brukstilfellet er
datesen referanse til datokolonnen i en merket datotabell.Hvis
StartDateer BLANK, er denStartDatetidligste verdien idateskolonnen. For kalenderen er det den første verdien i en kolonne som er merket som dag.Hvis
EndDatedet er BLANKdet, er denEndDatenyestedatesverdien i kolonnen. For kalenderen er det den siste verdien i en kolonne som er merket som dag.Datoer som brukes som
StartDateogEndDateer inkludert. Hvis verdien for eksempelStartDateer 1. juli 2019, inkluderes denne datoen i den returnerte tabellen (forutsatt at datoen finnes idateskolonnen).For datokolonneinndata kan den returnerte tabellen bare inneholde datoer som er lagret i
Dateskolonnen. Hvis kolonnen for eksempelDatesstarter fra 1. juli 2017 ogStartDateverdien er 1. juli 2016, starter den returnerte tabellen fra 1. juli 2017.Hvis inndatadatoen for kalenderen ikke finnes i den merkede dagkolonnen, behandles den som BLANK, og den første eller siste verdien brukes.
Bruk samme datatype og format som den kodede dagkolonnen for startdato og sluttdato for kalenderinndata. Hvis kolonnen for eksempel bruker formatet YYYY-Sn-Qn-Mnn-Wnn-Dnn (f.eks. "2014-S2-Q4-M11-W45-D03"), må startdatoen og sluttdatoen følge samme format (for eksempel "2015-S2-Q4-M11-W45-D03"). Ellers er virkemåten udefinert.
-
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 DATESBETWEEN-funksjonen til å produsere en hittil i (LTD). Levetid til dags dato representerer akkumuleringen av et mål over tid siden begynnelsen av tiden.
Formelen bruker MAX funksjonen. Denne funksjonen returnerer den siste datoen som er i filterkonteksten. Så DATESBETWEEN-funksjonen returnerer en tabell med datoer som begynner fra den tidligste datoen til den siste datoen som rapporteres.
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.
Customers LTD =
CALCULATE (
DISTINCTCOUNT ( Sales[CustomerKey] ),
DATESBETWEEN ( 'Date'[Date], BLANK (), MAX ( 'Date'[Date] ) )
)
Tenk på at den tidligste datoen som er lagret i Dato-tabellen, er 1. juli 2017. Så når en rapport filtrerer målet innen juni måned 2020, returnerer DATESBETWEEN-funksjonen et datointervall fra 1. juli 2017 til 30. juni 2020.
Eksempel på kalenderbasert tidsintelligens
Følgende Måldefinisjon for salg tabell bruker DATESBETWEEN-funksjonen til å produsere en hittil i (LTD). Levetid til dags dato representerer akkumuleringen av et mål over tid siden begynnelsen av tiden.
Formelen bruker MAX funksjonen. Denne funksjonen returnerer den maksimale datonøkkelen som er i filterkonteksten. Så DATESBETWEEN-funksjonen returnerer en tabell med datoer som begynner fra den tidligste datoen til den siste datoen som rapporteres. Vi bruker DateKey som et eksempel for å vise at «Dag»-kategorien kan merkes med en kolonne som ikke er datoskrevet.
Customers LTD =
CALCULATE (
DISTINCTCOUNT ( Sales[CustomerKey] ),
DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)