DATESBETWEEN

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.