DATESINPERIOD
Nota
Questa funzione è sconsigliata per l'uso nei calcoli visivi perché probabilmente restituisce risultati senza significato.
Restituisce una tabella contenente una colonna di date che inizia con una data di inizio specificata e continua per il numero e il tipo di intervalli di data specificati.
Questa funzione è adatta per passare come filtro alla funzione CALCULATE. Usarlo per filtrare un'espressione in base a intervalli di data standard, ad esempio giorni, mesi, trimestri o anni.
Sintassi
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parametri
Termine | Definizione |
---|---|
dates |
Colonna data. |
start_date |
Espressione di data. |
number_of_intervals |
Intero che specifica il numero di intervalli a cui aggiungere o sottrarre le date. |
interval |
Intervallo in base al quale spostare le date. Il valore per interval può essere uno dei seguenti: DAY , MONTH , QUARTER e YEAR |
Valore restituito
Tabella contenente una singola colonna di valori di data.
Osservazioni
Nel caso d'uso più comune,
dates
è un riferimento alla colonna data di una tabella data contrassegnata.Se il numero specificato per
number_of_intervals
è positivo, le date vengono spostate in avanti nel tempo; se il numero è negativo, le date vengono spostate indietro nel tempo.Il parametro
interval
è un'enumerazione . I valori validi sonoDAY
,MONTH
,QUARTER
eYEAR
. Poiché si tratta di un'enumerazione, i valori non vengono passati come stringhe. Quindi non racchiuderli tra virgolette.La tabella restituita può contenere solo date archiviate nella colonna
dates
. Ad esempio, se la colonnadates
inizia dal 1° luglio 2017 e il valorestart_date
è 1 luglio 2016, la tabella restituita inizierà dal 1° luglio 2017.Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle regole di sicurezza a livello di riga.
Esempio
La definizione di misura tabella Sales seguente usa la funzione DATESINPERIOD per calcolare i ricavi per l'anno precedente (PY).
Si noti che la formula usa la funzione MAX. Questa funzione restituisce la data più recente presente nel contesto del filtro. Pertanto, la funzione DATESINPERIOD restituisce una tabella di date che iniziano dall'ultima data dell'anno precedente.
Gli esempi in questo articolo possono essere usati con il modello adventure works DW 2020 di Power BI Desktop di esempio. Per ottenere il modello, vedere DAX modello di esempio.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Tenere presente che il report viene filtrato in base al mese di giugno 2020. La funzione MAX restituisce il 30 giugno 2020. La funzione DATESINPERIOD restituisce quindi un intervallo di date compreso tra il 1° luglio 2019 e il 30 giugno 2020. Si tratta di un anno di valori di data a partire dal 30 giugno 2020 per l'ultimo anno.
Contenuto correlato
funzioni di Business Intelligence per le gerarchie temporali (DAX)funzioni di data e ora (DAX)DATESBETWEEN (DAX)