DATESBETWEEN
Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual
Observação
Esta 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.
Esta função é adequada para passar como um filtro para a função CALCULATE. Use-o para filtrar uma expressão por um intervalo de datas personalizado.
Observação
Se você estiver trabalhando com intervalos de data padrão, como dias, meses, trimestres ou anos, é recomendável usar a função DATESINPERIOD mais adequada.
Sintaxe
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
Parâmetros
Vigência | 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.
Comentários
No caso de uso mais comum,
dates
é uma referência à coluna de data de uma tabela de data marcada.Se
StartDate
for BLANK, entãoStartDate
será o valor mais antigo na colunadates
.Se
EndDate
for BLANK,EndDate
será o valor mais recente na colunadates
.As datas utilizadas como
StartDate
eEndDate
estão incluídas. Assim, por exemplo, se o valorStartDate
for 1 de julho de 2019, essa data será incluída na tabela devolvida (desde que a data exista na colunadates
).A tabela retornada só pode conter datas armazenadas na coluna
Dates
. Assim, 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.Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).
Exemplo
A seguinte definição de medida de tabela de de vendas
Observe que a fórmula usa a função MAX. Esta função retorna a data mais recente que está no contexto do filtro. Assim, a função DATESBETWEEN retorna uma tabela de datas que começam desde a data mais antiga até a data mais recente que está sendo relatada.
Exemplos neste artigo podem ser usados com o modelo de exemplo do Power BI Desktop do Adventure Works DW 2020. Para obter o modelo, consulte DAX exemplo de modelo.
Customers LTD =
CALCULATE(
DISTINCTCOUNT(Sales[CustomerKey]),
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
Considere que a data mais antiga armazenada na tabela Data é 1º de julho de 2017. Assim, 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.