DATESINPERIOD
Van toepassing op:berekende kolom
berekende tabel
Meting
Visuele berekening
Notitie
Deze functie wordt afgeraden voor gebruik in visuele berekeningen omdat deze waarschijnlijk betekenisloze resultaten oplevert.
Retourneert een tabel die een kolom met datums bevat die begint met een opgegeven begindatum en doorgaat voor het opgegeven aantal en het type datumintervallen.
Deze functie is geschikt om als filter door te geven aan de CALCULATE functie. Gebruik deze om een expressie te filteren op standaarddatumintervallen, zoals dagen, maanden, kwartalen of jaren.
Syntaxis
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parameters
Term | Definitie |
---|---|
dates |
Een datumkolom. |
start_date |
Een datumexpressie. |
number_of_intervals |
Een geheel getal dat het aantal intervallen aangeeft dat moet worden toegevoegd aan of afgetrokken van de datums. |
interval |
Het interval waarmee de datums moeten worden verplaatst. De waarde voor interval kan een van de volgende zijn: DAY , MONTH , QUARTER en YEAR |
Retourwaarde
Een tabel met één kolom met datumwaarden.
Opmerkingen
In het meest voorkomende gebruiksvoorbeeld is
dates
een verwijzing naar de datumkolom van een gemarkeerde datumtabel.Als het opgegeven getal voor
number_of_intervals
positief is, worden datums naar voren verplaatst in de tijd; als het getal negatief is, worden datums achteruit in de tijd verschoven.De parameter
interval
is een opsomming. Geldige waarden zijnDAY
,MONTH
,QUARTER
enYEAR
. Omdat het een opsomming is, worden waarden niet doorgegeven als tekenreeksen. Plaats ze dus niet tussen aanhalingstekens.De geretourneerde tabel kan alleen datums bevatten die zijn opgeslagen in de kolom
dates
. Als de kolomdates
bijvoorbeeld begint vanaf 1 juli 2017 en destart_date
waarde 1 juli 2016 is, begint de geretourneerde tabel vanaf 1 juli 2017.Deze functie wordt niet ondersteund voor gebruik in de DirectQuery-modus wanneer deze wordt gebruikt in regels voor beveiliging op rijniveau (berekende kolommen of beveiliging op rijniveau).
Voorbeeld
In de volgende definitie van de tabelmeting Sales wordt de functie DATESINPERIOD gebruikt om de omzet voor het vorige jaar (PY) te berekenen.
U ziet dat de formule gebruikmaakt van de functie MAX. Deze functie retourneert de laatste datum die zich in de filtercontext bevindt. De functie DATESINPERIOD retourneert dus een tabel met datums vanaf de laatste datum voor het afgelopen jaar.
Voorbeelden in dit artikel kunnen worden gebruikt met het voorbeeldmodel Adventure Works DW 2020 Power BI Desktop. Zie DAX voorbeeldmodelom het model op te halen.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Houd er rekening mee dat het rapport wordt gefilterd op de maand juni 2020. De functie MAX retourneert 30 juni 2020. De functie DATESINPERIOD retourneert vervolgens een datumbereik van 1 juli 2019 tot 30 juni 2020. Het is een jaar met datumwaarden vanaf 30 juni 2020 voor het afgelopen jaar.
Verwante inhoud
time intelligence-functies (DAX)datum- en tijdfuncties (DAX)DATESBETWEEN functie (DAX)