DATESINPERIOD
Gäller för: Beräknad kolumn Beräknad tabell Mått Visuell beräkning
Kommentar
Den här funktionen rekommenderas inte för användning i visuella beräkningar eftersom den sannolikt returnerar meningslösa resultat.
Returnerar en tabell som innehåller en kolumn med datum som börjar med ett angivet startdatum och fortsätter för det angivna talet och typen av datumintervall.
Den här funktionen passar för att skicka som ett filter till funktionen CALCULATE . Använd det för att filtrera ett uttryck efter standarddatumintervall, till exempel dagar, månader, kvartal eller år.
Syntax
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parametrar
Period | Definition |
---|---|
dadlar | En datumkolumn. |
start_date | Ett datumuttryck. |
number_of_intervals | Ett heltal som anger antalet intervall som ska läggas till i, eller subtrahera från, datumen. |
interval | Intervallet som datumen ska flyttas med. Värdet för intervall kan vara något av följande: DAY , MONTH , QUARTER och YEAR |
Returvärde
En tabell som innehåller en enda kolumn med datumvärden.
Kommentarer
I det vanligaste användningsfallet är datum en referens till datumkolumnen i en markerad datumtabell.
Om talet som anges för number_of_intervals är positivt flyttas datumen framåt i tiden. Om talet är negativt flyttas datumen bakåt i tiden.
Intervallparametern är en uppräkning. Giltiga värden är
DAY
,MONTH
,QUARTER
ochYEAR
. Eftersom det är en uppräkning skickas inte värden som strängar. Så omslut dem inte inom citattecken.Den returnerade tabellen kan bara innehålla datum som lagras i kolumnen dates . Om kolumnen dates till exempel börjar från den 1 juli 2017 och värdet start_date är 1 juli 2016 börjar den returnerade tabellen från den 1 juli 2017.
Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).
Exempel
Följande måttdefinition för försäljningstabellen använder funktionen DATESINPERIOD för att beräkna intäkter för föregående år (PY).
Observera att formeln använder funktionen MAX . Den här funktionen returnerar det senaste datumet som finns i filterkontexten. Funktionen DATESINPERIOD returnerar därför en tabell med datum som börjar från det senaste datumet för det senaste året.
Exempel i den här artikeln kan användas med exempelmodellen Adventure Works DW 2020 Power BI Desktop. Information om hur du hämtar modellen finns i DAX-exempelmodellen.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Tänk på att rapporten filtreras efter juni 2020. Funktionen MAX returnerar 30 juni 2020. Funktionen DATESINPERIOD returnerar sedan ett datumintervall från 1 juli 2019 till 30 juni 2020. Det är ett år med datumvärden från och med den 30 juni 2020 för det senaste året.
Relaterat innehåll
Tidsinformationsfunktioner (DAX)
Datum- och tidsfunktioner (DAX)
Funktionen DATESBETWEEN (DAX)