Quando uma tabela de fatos tem dezenas de milhões de linhas, reprocessar tudo a cada atualização é ineficiente — pode levar horas e sobrecarregar a fonte de dados. A atualização incremental resolve isso: apenas os dados novos ou modificados são reprocessados; o histórico permanece em cache.

Como funciona

O Power BI divide a tabela em partições por período (dias, meses). Nas atualizações, só as partições mais recentes são reprocessadas. O histórico (ex: anos anteriores) permanece intocado. Resultado: uma atualização que levaria 2 horas passa a levar 5 minutos.

Pré-requisitos

Configurando no Power Query

Passo 1: crie dois parâmetros no Power Query:

Passo 2: na consulta da tabela de fatos, adicione um filtro na coluna de data usando esses parâmetros:

// No Power Query (M):
Table.SelectRows(Fonte, each [DataPedido] >= RangeStart
                          and [DataPedido] < RangeEnd)

O Power BI usa esses parâmetros para determinar o intervalo de cada partição.

Configurando a política de atualização incremental

No Power BI Desktop, clique com o botão direito na tabela → Atualização Incremental e dados em tempo real. Configure:

Query Folding: por que é obrigatório

Query Folding é quando o Power Query traduz suas transformações M em uma query nativa para a fonte (SQL, por exemplo). Sem Query Folding, o Power BI baixa todos os dados e filtra localmente — inviável para tabelas grandes. Verifique se o Query Folding está ativo: clique com o botão direito na última etapa do Power Query — se "Exibir Consulta Nativa" estiver disponível, o folding está funcionando.

Perguntas frequentes

Posso usar atualização incremental com arquivo CSV?

Não. CSVs e arquivos Excel não suportam Query Folding. Para esses casos, considere mover os dados para um banco de dados antes de conectar ao Power BI.

O que acontece se um dado histórico for corrigido na fonte?

Com a configuração padrão, as partições históricas não são reprocessadas — a correção não aparecerá no Power BI. Configure "Detectar alterações de dados" com uma coluna de timestamp de última modificação para que registros alterados sejam reprocessados automaticamente.