DATESINPERIOD
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.
Retorna uma tabela que contém uma coluna de datas que começa com uma data de início especificada e continua para o número especificado e o tipo de intervalos de data.
Essa função é adequada para passar como um filtro para a função CALCULATE. Use-a para filtrar uma expressão por intervalos de data padrão, como dias, meses, trimestres ou anos.
Sintaxe
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parâmetros
Prazo | Definição |
---|---|
dates |
Uma coluna de data. |
start_date |
Uma expressão de data. |
number_of_intervals |
Um inteiro que especifica o número de intervalos a serem adicionados ou subtraídos das datas. |
interval |
O intervalo pelo qual deslocar as datas. O valor do intervalo pode ser um dos seguintes: DAY , MONTH , QUARTER e YEAR |
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 o número especificado para
number_of_intervals
for positivo, as datas serão movidas para frente no tempo; se o número for negativo, as datas serão alteradas para trás no tempo.O parâmetro
interval
é uma enumeração. Os valores válidos sãoDAY
,MONTH
,QUARTER
eYEAR
. Como é uma enumeração, os valores não são passados como cadeias de caracteres. Portanto, não coloque-os entre aspas.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 valorstart_date
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 Sales a seguir usa a função DATESINPERIOD para calcular a receita do ano anterior (PY).
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 DATESINPERIOD retorna uma tabela de datas a partir da data mais recente do ano passado.
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.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Considere que o relatório é filtrado até o mês de junho de 2020. A função MAX retorna 30 de junho de 2020. A função DATESINPERIOD retorna um intervalo de datas de 1º de julho de 2019 a 30 de junho de 2020. É um ano de valores de data a partir de 30 de junho de 2020 para o último ano.
Conteúdo relacionado
funções de inteligência de tempo (DAX)função deDATESBETWEEN (DAX)DAX)