(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

DP-600: implementar Incremental Refresh em Power BI/ Fabric

João Barros 21 de July de 2026 4 min de leitura

Vou ensinar como implementar Incremental Refresh em conjuntos de dados Power BI (no contexto de Fabric). Esta competência é comum no DP-600: ajuda a optimizar os refreshes, reduzir tempo e custo, e é frequentemente exigida em cenários de produção.

O que precisas de saber

Incremental Refresh permite actualizar apenas o subconjunto de dados que mudou (a janela de refresh) em vez de recarregar toda a tabela. É especialmente útil para tabelas com histórico extenso (milhões de linhas) e funciona com duas componentes principais: filtros de data no Power Query e uma política de refresh definida no modelo.

Condições prévias essenciais:

  • Uma coluna de data/hora (ou coluna de versão) para segmentar os dados por período.
  • Parâmetros RangeStart e RangeEnd no Power Query que limitam os registos carregados.
  • Espaço de trabalho em Power BI com capacidade Premium (ou Fabric), para aplicar políticas de Incremental Refresh no serviço.

Exemplo conceptual: armazenas 5 anos de histórico, mas só precisas de refrescar os últimos 30 dias. Configuras a política para "store" 5 anos, "refresh" 30 dias — o serviço reprocessa apenas as partições dos últimos 30 dias.

Na prática

Passos práticos para implementar Incremental Refresh (Power BI Desktop → serviço / Fabric):

  1. Criar parâmetros no Power Query: cria dois parâmetros DateTime chamados RangeStart e RangeEnd. Não lhes atribuas um valor fixo final — o Power BI substitui estes na publicação.
  2. Filtrar a tabela pela coluna de data: aplica um filtro utilizando RangeStart e RangeEnd. O filtro tem de ser reconhecível como um filtro de intervalo para que o motor aplique partições.
  3. Publicar/Carregar para o serviço: publica o ficheiro para um workspace com capacidade Premium (Fabric já inclui capacidade para modelos).
  4. Definir a política de Incremental Refresh: no Power BI Desktop, clica com o botão direito na tabela > Incremental refresh > define a janela para armazenamento e para refresh, e, opcionalmente, activa "Detect data changes" indicando a coluna que sinaliza alterações (por ex., LastModifiedDate).
  5. Validar: publica e observa as partições no serviço (no workspace com capacidade). Verifica os registos de refresh e o tempo consumido.

Exemplo mínimo de M (Power Query) para aplicar o filtro com parâmetros:

let
    // Estes parametros devem existir (Type: DateTime)
    RangeStart = #datetime(2023, 1, 1, 0, 0, 0),
    RangeEnd = #datetime(2026, 1, 1, 0, 0, 0),
    Source = Sql.Database("serverName", "dbName", [Query="SELECT OrderDate, Amount FROM Sales"]),
    // Aplicar filtro de intervalo usando os parâmetros
    Filtered = Table.SelectRows(Source, each [OrderDate] >= RangeStart and [OrderDate] < RangeEnd)
in
    Filtered

Notas práticas:

  • Cria os parâmetros com tipo DateTime (não Text).
  • Evita transformar a coluna de data de forma que impeça o filtro inicial (o filtro deve ocorrer antes de transformações que alterem a granularidade).
  • Se activares "Detect data changes", escolhe uma coluna que se actualize quando há alteração (Timestamp ou identidade incremental).

Erros comuns

1) Filtrar depois de transformação: aplicar o filtro RangeStart/RangeEnd após operações que alterem a coluna de data (por ex., separar, alterar fuso horário) pode impedir a deteção da partição — coloca sempre o filtro cedo no fluxo do Power Query.

2) Parâmetros mal tipados: RangeStart/RangeEnd como Text ou Date (sem hora) podem causar comportamentos inesperados. Usa DateTime quando a tua coluna tem horas.

3) Assumir que funciona em workspaces sem capacidade: Incremental Refresh requer capacidade Premium (ou o ambiente Fabric adequado). Tentar configurar e publicar num workspace sem capacidade resulta em erros ou em fallback para full refresh.

Como praticar

Para treinar esta competência de forma segura e alinhada com o DP-600:

  • Utiliza o Practice Assessment oficial da Microsoft (gratuito) para avaliar as áreas do exame — procura "DP-600 Practice Assessment" no Microsoft Learn.
  • Segue o guia de estudo oficial do DP-600 no Microsoft Learn (gratuito) para mapear esta competência nas "skills measured".
  • Cria um laboratório local: uma base de dados de exemplo (SQL Server/ Azure SQL) com tabela histórica, monta um Power BI Desktop com RangeStart/RangeEnd, publica num workspace Fabric/Premium e observa partições e performance.

Estas fontes oficiais são gratuitas e permitem confirmar que estás a praticar as acções que o exame pretende medir.

Em resumo

  • Incremental Refresh reduz tempo e custo ao actualizar só o intervalo necessário do conjunto de dados.
  • Exige parâmetros RangeStart/RangeEnd no Power Query, uma coluna de data/versão e capacidade Premium/Fabric.
  • Configura o filtro cedo no ETL, usa DateTime correcto e considera "Detect data changes" para actualizações delta.
  • Pratica com laboratórios e usa o Practice Assessment e o guia de estudo oficial da Microsoft (ambos gratuitos) para validar a tua preparação.