DATESBETWEEN

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

Nota

Questa funzione è sconsigliata per l'uso nei calcoli visivi perché probabilmente restituisce risultati senza significato.

Per l'input della colonna data, restituisce una tabella contenente una colonna di date che inizia con una data di inizio specificata e continua fino a una data di fine specificata.

Per l'input del calendario, restituisce una tabella che inizia con una data di inizio specificata e continua fino a una data di fine specificata. La tabella contiene tutte le colonne con tag primarie e tutte le colonne correlate all'ora.

Questa funzione è adatta per passare come filtro alla funzione CALCULATE. Usarlo per filtrare un'espressione in base a un intervallo di date personalizzato.

Nota

Se si usano intervalli di data standard, ad esempio giorni, mesi, trimestri o anni, usare la funzione più adatta DATESINPERIOD .

Sintassi

DATESBETWEEN(<dates or calendar>, <StartDate>, <EndDate>)

Parametri

Termine Definizione
dates or calendar Colonna contenente date o riferimenti al calendario
StartDate Espressione data/giorno. Se si usa la sintassi del calendario, usare lo stesso tipo di dati della colonna primaria contrassegnata nella categoria Giorno.
EndDate Espressione data/giorno. Se si usa la sintassi del calendario, usare lo stesso tipo di dati della colonna primaria contrassegnata nella categoria Giorno.

Valore restituito

Per l'input della colonna data, una tabella contenente una singola colonna di valori di data.
Per l'input del calendario, una tabella che contiene tutte le colonne con tag primarie e tutte le colonne correlate.

Osservazioni

  • Nel caso d'uso più comune, dates è un riferimento alla colonna data di una tabella data contrassegnata.

  • Se StartDate è BLANK, è StartDate il valore meno recente nella dates colonna. Per il calendario, è il primo valore di una colonna contrassegnata come giorno.

  • Se EndDate è BLANK, è EndDate il valore più recente nella dates colonna . Per il calendario, è l'ultimo valore in una colonna contrassegnata come giorno.

  • Le date utilizzate come StartDate e EndDate sono incluse. Ad esempio, se il StartDate valore è 1 luglio 2019, tale data viene inclusa nella tabella restituita (specificando la data presente nella dates colonna).

  • Per l'input della colonna data, la tabella restituita può contenere solo le date archiviate nella Dates colonna. Ad esempio, se la Dates colonna inizia dal 1° luglio 2017 e il StartDate valore è 1 luglio 2016, la tabella restituita inizia dal 1° luglio 2017.

  • Per l'input del calendario, se la data di input non viene trovata nella colonna giorno con tag, viene considerata come BLANKe viene usato il primo o l'ultimo valore.

  • Per l'input del calendario, usare lo stesso tipo di dati e formato della colonna giorno con tag per la data di inizio e la data di fine. Ad esempio, se la colonna usa il formato YYYY-Sn-Qn-Mnn-Wnn-Dnn (ad esempio, "2014-S2-Q4-M11-W45-D03"), la data di inizio e la data di fine devono seguire lo stesso formato ,ad esempio "2015-S2-Q4-M11-W45-D03"). In caso contrario, il comportamento non è definito.

  • 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 della tabella sales seguente utilizza la funzione per produrre un calcolo (LTD). La durata rappresenta l'accumulo di una misura nel tempo sin dall'inizio del tempo.

La formula usa la MAX funzione . Questa funzione restituisce la data più recente presente nel contesto del filtro. Pertanto, la funzione DATESBETWEEN restituisce una tabella di date che iniziano dalla prima data fino alla data più recente segnalata.

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.

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( 'Date'[Date], BLANK (), MAX ( 'Date'[Date] ) )
)

Si consideri che la data meno recente archiviata nella tabella data data è il 1° luglio 2017. Pertanto, quando un report filtra la misura in base al mese di giugno 2020, la funzione DATESBETWEEN restituisce un intervallo di date compreso tra il 1° luglio 2017 e il 30 giugno 2020.

Esempio di Business Intelligence per le gerarchie temporali basate su calendario

La definizione di misura della tabella sales seguente utilizza la funzione per produrre un calcolo (LTD). La durata rappresenta l'accumulo di una misura nel tempo sin dall'inizio del tempo.

La formula usa la MAX funzione . Questa funzione restituisce il valore datekey massimo presente nel contesto del filtro. Pertanto, la funzione DATESBETWEEN restituisce una tabella di date che iniziano dalla prima data fino alla data più recente segnalata. Si usa DateKey come esempio per indicare che la categoria "Day" può essere contrassegnata con una colonna che non è tipizzata da date.

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)