DATESINPERIOD
Aplica-se a: Coluna calculada Tabela calculada Medida Cálculo visual
Nota
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 para o número especificado e o tipo de intervalos de data.
Esta função é adequada para passar como um filtro para a função CALCULATE . Use-o 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
Termo | Definição |
---|---|
Datas | 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 as datas devem ser alteradas. O valor para intervalo pode ser um dos seguintes: DAY , MONTH , QUARTER , e YEAR |
Valor devolvido
Uma tabela que contém uma única coluna de valores de data.
Observações
No caso de uso mais comum, datas é uma referência à coluna de data de uma tabela de datas marcada.
Se o número especificado para number_of_intervals for positivo, as datas são antecipadas no tempo, se o número for negativo, as datas são deslocadas para trás no tempo.
O parâmetro interval é uma enumeração. Os valores válidos são
DAY
,MONTH
,QUARTER
, eYEAR
. Por ser uma enumeração, os valores não são passados como cadeias de caracteres. Portanto, não os coloque entre aspas.A tabela retornada só pode conter datas armazenadas na coluna dates . Assim, por exemplo, se a coluna de datas começar a partir de 1º de julho de 2017 e o valor start_date 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 da tabela Sales usa a função DATESINPERIOD para calcular a receita do ano anterior (PY).
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 DATESINPERIOD retorna uma tabela de datas que começam a partir da data mais recente do ano passado.
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 Modelo de exemplo DAX.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Considere que o relatório é filtrado pelo mês de junho de 2020. A função MAX retorna em 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 ano passado.
Conteúdos relacionados
Funções de inteligência de tempo (DAX)
Funções de data e hora (DAX)
Função DATESBETWEEN (DAX)