Partilhar via


DATESINPERIOD

Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual

Observação

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

Vigência 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 as datas devem ser alteradas. O valor para intervalo pode ser um dos seguintes: DAY, MONTH, QUARTERe YEAR

Valor de retorno

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 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, QUARTERe YEAR. 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 dates 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 de vendas 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 começando 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 DAX exemplo de modelo.

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. Em seguida, 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.

Funções de inteligência de tempo (DAX)Funções de data e hora (DAX)DATESBETWEEN função (DAX)