Power BI · 2026-10-14

DATESINPERIOD no Power BI: controle a janela móvel

Use DATESINPERIOD no Power BI com data de referência explícita. Confira limites, calendário completo e filtros antes de interpretar uma janela móvel.

DATESINPERIOD no Power BI: controle a janela móvel

DATESINPERIOD no Power BI: controle a janela móvel

Usar DATESINPERIOD no Power BI permite definir uma tabela de datas em torno de uma referência e utilizá-la no cálculo de uma medida. A função ajuda a construir janelas móveis, mas a análise depende de qual data encerra o período e de quais filtros devem permanecer ativos.

Este guia usa uma janela hipotética de noventa dias para somar receita de pedidos válidos. A intenção é comparar observações com duração conhecida, preservando calendário e componentes de conferência. Os nomes de tabelas e medidas são didáticos e precisam ser adaptados ao modelo real.

1. Defina a pergunta de DATESINPERIOD no Power BI

Escreva se você quer noventa dias corridos, três meses ou três competências completas. Essas convenções não são intercambiáveis. Uma decisão diária de acompanhamento pode usar dias corridos, enquanto um fechamento gerencial pode exigir meses completos.

Neste roteiro, a pergunta é “qual a receita nos noventa dias que terminam na referência escolhida?”. O valor não é receita do ano anterior nem previsão. Nomeie a medida conforme essa janela. O artigo de previsão de vendas complementa o planejamento, mantendo separada a projeção futura da soma de eventos já observados em uma janela histórica.

2. Prepare uma tabela de datas apropriada

Use uma tabela de calendário com uma linha por data, sem duplicidades e com cobertura da janela necessária. Relacione-a à data comercial definida para a receita. Se a fato usa horário completo, prepare a chave diária conforme a referência temporal aprovada.

A documentação de DATESINPERIOD da Microsoft, consultada em 14 de outubro de 2026, informa que a entrada por coluna retorna apenas datas existentes nessa coluna. Portanto, uma tabela curta pode produzir uma janela incompleta. Confira começo e fim do calendário antes de interpretar o resultado. Uma receita calculada sobre poucas datas não se torna comparável a noventa dias somente porque a medida tem esse nome.

3. Escolha a data de referência conscientemente

Uma opção é usar a maior data do contexto selecionado no calendário. Outra é usar uma data de corte de dados confirmados. Elas podem ser diferentes: selecionar o fim do ano em um calendário futuro não significa ter vendas carregadas até lá.

Defina qual referência atende à tarefa e exiba-a. Neste exemplo, o leitor escolhe um corte que a equipe confirmou como observado. Não use automaticamente a última venda de cada cliente para encerrar sua janela, pois isso deslocaria o período entre clientes e esconderia recência. O roteiro de clientes inativos complementa a leitura de ausência de compras, preservando uma referência comum quando a comparação exigir o mesmo tempo de observação.

4. Construa a janela e controle filtros de calendário

O exemplo abaixo usa DAX, linguagem de expressões do modelo. Ele captura a referência antes de limpar filtros do calendário, constrói a janela em dias e depois a aplica à medida Receita validada. Essa medida base precisa estar correta antes do cálculo temporal.

Receita em 90 dias =
VAR DataAncora = MAX(Calendario[Data])
VAR Janela =
    CALCULATETABLE(
        DATESINPERIOD(Calendario[Data], DataAncora, -90, DAY),
        REMOVEFILTERS(Calendario)
    )
RETURN
    CALCULATE(
        [Receita validada],
        REMOVEFILTERS(Calendario),
        Janela
    )

A referência de REMOVEFILTERS documenta a limpeza de filtros das tabelas ou colunas indicadas. Aqui, ela é limitada ao calendário para que uma seleção de mês não restrinja indevidamente a janela. Revise filtros de outras tabelas e relacionamentos antes de reutilizar a expressão.

5. Confira começo, fim e quantidade de datas

Crie uma página de diagnóstico com a âncora, a menor data, a maior data e a quantidade de linhas da janela. Liste também as datas quando estiver validando uma amostra. Conferir somente o valor final pode esconder uma janela deslocada ou curta.

Em um teste hipotético com calendário completo e âncora em 30 de junho de 2026, uma janela retrospectiva de noventa dias inclui 2 de abril a 30 de junho. Confira esse conjunto no modelo. Não troque a unidade por meses esperando preservar as mesmas datas. A documentação distingue os tipos de intervalo; cada escolha precisa ser testada nos limites que importam para o relatório.

6. Separe duração do calendário e abrangência da fonte

Ter noventa datas no calendário não comprova que a fonte entregou dados completos para cada uma. Uma loja pode ter carga atrasada, enquanto outra já está atualizada. Mantenha uma referência de completude da integração ou do fechamento quando ela existir.

Diferencie dia observado sem venda de dia sem informação confirmada. Não substitua todos os vazios por zero para completar a curva. Se a janela estiver parcialmente observada, sinalize essa condição e evite compará-la silenciosamente com uma janela fechada. O indicador temporal organiza datas, mas a qualidade da observação depende da fonte e das regras de validade dos eventos que entram na medida base.

7. Preserve filtros comerciais na população certa

Teste cliente, loja, região e produto. No desenho proposto, esses filtros continuam definindo quais vendas entram, enquanto o calendário define quando elas ocorreram. Uma janela que remove todo o contexto comercial responderia outra pergunta.

O guia de KEEPFILTERS e recorte da medida complementa a revisão de condições internas. Verifique se a medida base já altera filtros de situação ou de canal. Acrescentar uma janela de datas não corrige uma população comercial incompatível. Para cada caso de teste, registre o conjunto de pedidos esperado, além do período, para conferir tempo e escopo juntos.

8. Diferencie soma móvel e média diária

A soma dos noventa dias é um valor acumulado. Para obter média por dia corrido, divida pelo número de dias observados segundo a regra aprovada. Para média por dia de operação, use calendário operacional e um denominador diferente, explicitamente nomeado.

Não calcule média apenas sobre dias com venda se a pergunta exige todos os dias abertos. Isso pode aumentar o resultado ao excluir períodos de movimento zero. O artigo de vendas por hora e exposição operacional complementa essa distinção. Uma janela fixa define o horizonte; a unidade do denominador define o significado da intensidade apresentada.

9. Teste início do histórico e mudanças de contexto

Inclua referência próxima do início do calendário, data futura, mês incompleto e seleção múltipla. Confira uma linha de matriz e o total geral, porque a maior data do contexto pode mudar entre células. Mostre a âncora usada quando essa diferença for relevante.

A documentação da Microsoft não recomenda DATESINPERIOD em cálculos visuais e informa limitações em colunas calculadas e regras de segurança por linhas no modo DirectQuery. Este roteiro trabalha com medidas e entrada por coluna de data. Não transfira a expressão automaticamente para outro tipo de objeto. Valide o comportamento na versão e no modelo efetivamente utilizados antes de compartilhar.

10. Publique a medida com sua convenção temporal

Registre intervalo, âncora, calendário e regra de completude. Peça a alguém da área para explicar o período representado pelo cartão sem abrir o código. Se a pessoa interpretar “noventa dias” como “três meses fechados”, ajuste o título e a descrição.

O modelo editável de Vendas inclui faturamento por dia, mês e ano. Para acrescentar janela móvel, valide medida base, calendário e data de corte. Guarde os testes de fronteira para repetir após mudanças de fonte. O cálculo estará pronto quando o valor puder ser reconciliado com as datas e os pedidos que realmente compõem a janela.