DATESBETWEEN
aplica-se a:coluna calculadatabela calculadamedidacálculo visual
Nota
Essa função é desencorajada para uso em cálculos visuais pois provavelmente retorna resultados sem sentido.
Retorna uma tabela que contém uma coluna de datas que começa com uma data de início especificada e continua até uma data de término especificada.
Essa função é adequada para passar como um filtro para a função CALCULATE. Use-a para filtrar uma expressão por um intervalo de datas personalizado.
Nota
Se você estiver trabalhando com intervalos de data padrão, como dias, meses, trimestres ou anos, é recomendável que você use a função de DATESINPERIOD mais adequada.
Sintaxe
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
Parâmetros
Prazo | Definição |
---|---|
Dates |
Uma coluna de data. |
StartDate |
Uma expressão de data. |
EndDate |
Uma expressão de data. |
Valor de retorno
Uma tabela que contém uma única coluna de valores de data.
Observações
No caso de uso mais comum,
dates
é uma referência à coluna de data de uma tabela de data marcada.Se
StartDate
for BLANK,StartDate
será o valor mais antigo na colunadates
.Se
EndDate
for BLANK,EndDate
será o valor mais recente na colunadates
.As datas usadas como
StartDate
eEndDate
são inclusivas. Portanto, por exemplo, se o valorStartDate
for 1º de julho de 2019, essa data será incluída na tabela retornada (desde que a data exista na colunadates
).A tabela retornada só pode conter datas armazenadas na coluna
Dates
. Portanto, por exemplo, se a colunaDates
começar a partir de 1º de julho de 2017 e o valorStartDate
for 1º de julho de 2016, a tabela retornada começará a partir de 1º de julho de 2017.Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).
Exemplo
A definição de medida da tabela
Observe que a fórmula usa a função MAX. Essa função retorna a data mais recente que está no contexto do filtro. Portanto, a função DATESBETWEEN retorna uma tabela de datas que começa desde a data mais antiga até a data mais recente sendo relatada.
Exemplos neste artigo podem ser usados com o modelo adventure works dw 2020 power bi desktop de exemplo. Para obter o modelo, consulte DAX modelo de exemplo.
Customers LTD =
CALCULATE(
DISTINCTCOUNT(Sales[CustomerKey]),
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
Considere que a data mais antiga armazenada na tabela Date é 1º de julho de 2017. Portanto, quando um relatório filtra a medida até o mês de junho de 2020, a função DATESBETWEEN retorna um intervalo de datas de 1º de julho de 2017 a 30 de junho de 2020.