Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
aplica-se a:
coluna calculada
tabela calculada
medida
cálculo visual
Nota
Essa função é desencorajada para uso em cálculos visuais pois provavelmente retorna resultados sem sentido.
Para entrada de coluna de data, 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.
Para entrada de calendário, retorna uma tabela que começa com uma data de início especificada e continua até uma data de término especificada. A tabela contém todas as colunas marcadas primárias e colunas relacionadas a todos os tempos.
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> or <calendar>, <StartDate>, <EndDate>)
Parâmetros
| Prazo | Definição |
|---|---|
dates or calendar |
Uma coluna que contém datas ou uma referência de calendário |
StartDate |
Uma expressão de data/dia. Se a sintaxe do calendário for usada, use o mesmo tipo de dados que a coluna primária marcada para a categoria Dia. |
EndDate |
Uma expressão de data/dia. Se a sintaxe do calendário for usada, use o mesmo tipo de dados que a coluna primária marcada para a categoria Dia. |
Valor de retorno
Para entrada de coluna de data, uma tabela que contém uma única coluna de valores de data.
Para entrada de calendário, uma tabela que contém todas as colunas marcadas primárias e colunas relacionadas a todos os tempos.
Observações
No caso de uso mais comum,
datesé uma referência à coluna de data de uma tabela de data marcada.Se
StartDatefor BLANK,StartDateserá o valor mais antigo na colunadates. Para o calendário, ele será o primeiro valor na coluna que é marcado como dia.Se
EndDatefor BLANK,EndDateserá o valor mais recente na colunadates. Para o calendário, ele será o último valor na coluna que é marcado como dia.As datas usadas como
StartDateeEndDatesão inclusivas. Portanto, por exemplo, se o valorStartDatefor 1º de julho de 2019, essa data será incluída na tabela retornada (desde que a data exista na colunadates).Para a entrada da coluna de data, a tabela retornada só pode conter datas armazenadas na
Datescoluna. Portanto, por exemplo, se a colunaDatescomeçar a partir de 1º de julho de 2017 e o valorStartDatefor 1º de julho de 2016, a tabela retornada começará a partir de 1º de julho de 2017.Para entrada de calendário, se a data de entrada não for encontrada na coluna de dia marcada, ela será tratada como BLANK e, portanto, o primeiro/último valor será usado.
Para entrada de calendário, use o mesmo tipo de dados e formato da coluna de dia marcada para a data de início e a data de término. Por exemplo, se a coluna usar o formato YYYY-Sn-Qn-Mnn-Wnn-Dnn (por exemplo, "2014-S2-Q4-M11-W45-D03"), a data de início e a data de término deverão seguir o mesmo formato (por exemplo, "2015-S2-Q4-M11-W45-D03"). Caso contrário, o comportamento é indefinido.
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.
Exemplo de inteligência de tempo baseada em calendário
A definição de medida da tabela
Observe que a fórmula usa a função MAX. Essa função retorna a chave de data máxima 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. DateKey é usado como um exemplo para mostrar que a categoria "Dia" pode ser marcada com uma coluna que não é tipada por data
Customers LTD =
CALCULATE (
DISTINCTCOUNT ( Sales[CustomerKey] ),
DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)