DATESBETWEEN
Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual
Observação
Essa função não é recomendada para uso em cálculos visuais, pois é provável que ela retorne 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 ser transmitida como um filtro para a função CALCULATE. Use-a para filtrar uma expressão por um intervalo de datas personalizado.
Observação
Se você estiver trabalhando com intervalos de datas padrão como dias, meses, trimestres ou anos, recomendamos usar a função mais adequada DATESINPERIOD.
Sintaxe
DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)
Parâmetros
Termo | Definição |
---|---|
Datas | Uma coluna de data. |
StartDate | Uma expressão de data. |
EndDate | Uma expressão de data. |
Retornar valor
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, StartDate será o valor mais antigo na coluna Dates.
Se EndDate for BLANK, EndDate será o valor mais recente na coluna Dates.
As datas usadas como StartDate e EndDate são inclusivas. Então, por exemplo, se o valor StartDate for 1º de julho de 2019, essa data será incluída na tabela retornada (desde que a data exista na coluna Dates).
A tabela retornada só pode conter datas armazenadas na coluna Dates. Então, por exemplo, se a coluna Dates começar a partir de 1º de julho de 2017 e o valor de StartDate for 1º de julho de 2016, a tabela retornada começará a partir de 1º de julho de 2017.
Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.
Exemplo
A definição de medida de tabela Sales a seguir usa a função DATESBETWEEN para produzir um cálculo de LTD (vida útil até o momento). A vida útil até o momento representa o acúmulo de uma medida ao longo do tempo desde o início do tempo.
Observe que a fórmula usa a função MAX. Essa função retorna a data mais recente que está no contexto de filtro. Portanto, a função DATESBETWEEN retorna uma tabela de datas começando na data mais antiga até a data mais recente que está sendo relatada.
Os exemplos deste artigo podem ser usados com o modelo de exemplo do Power BI Desktop do Adventure Works DW 2020. Para obter o modelo, confira Modelo de exemplo DAX.
Customers LTD =
CALCULATE(
DISTINCTCOUNT(Sales[CustomerKey]),
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
Considere que a data mais antiga armazenada na tabela Date seja 1º de julho de 2017. Assim, quando um relatório filtrar a medida pelo mês de junho de 2020, a função DATESBETWEEN retornará um intervalo de datas de 1º de julho de 2017 a 30 de junho de 2020.