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 , QUARTER e 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ãoDAY
,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 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.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.
Conteúdo relacionado
Funções de inteligência de tempo (DAX)Funções de data e hora (DAX)DATESBETWEEN função (DAX)