Como criar um Incremental Refresh no Power BI no Microsoft Fabric: passo a passo
Este tutorial explica como configurar o Incremental Refresh num Power BI Dataset dentro do ambiente Microsoft Fabric para actualizar dados de forma eficiente. É útil para reduzir o tempo de refresh, minimizar custos e lidar com grandes volumes usando Direct Lake ou Import.
Pré-requisitos
- Conta com acesso a um workspace no Microsoft Fabric.
- Fonte de dados suportada (ex.: Lakehouse Delta Table, SQL do Warehouse, ou Parquet no OneLake) com colunas de data/hora.
- Power BI Desktop (optimizado para Fabric) ou criação de Dataset no Power BI no browser.
- Permissões para publicar para o workspace e criar/editar Datasets.
Passo 1: Escolher a abordagem (Direct Lake vs Import)
Perceber por que escolher Direct Lake ou Import é crítico. Direct Lake lê dados directamente do Lakehouse/OneLake sem importar, ideal para queries em tempo real e grandes volumes. Import carrega partições no Dataset, ideal se precisar de latência previsível e compressão.
Passo 2: Preparar a fonte de dados com coluna de data
O Incremental Refresh precisa de uma coluna de data ou datetime para particionar os dados. Certifique-se de que existe e que tem valores contínuos e correctos.
-- Exemplo T-SQL para adicionar coluna de data, se usar Warehouse
ALTER TABLE sales ADD sale_date datetime2;
-- Preencher sale_date conforme necessário
UPDATE sales SET sale_date = created_at;
Passo 3: Criar uma query no Power BI Desktop (ou Dataflow) com parâmetros
No Power BI Desktop crie dois parâmetros RangeStart e RangeEnd do tipo DateTime. Use-os na query para filtrar a tabela por data. Isto permite ao serviço gerir quais partições carregar.
-- Exemplo M (Power Query) para filtrar por RangeStart/RangeEnd
let
Source = Fabric.DataLake(/* fonte */),
Filtered = Table.SelectRows(Source, each [sale_date] >= RangeStart and [sale_date] < RangeEnd)
in
Filtered
Passo 4: Publicar para o workspace no Microsoft Fabric
Depois de validar a modelação e as relações, publique o .pbix para o workspace do Fabric. Se usar Direct Lake, assegure-se de que o Dataset está configurado para Direct Lake no momento da publicação.
Passo 5: Configurar Incremental Refresh no Dataset (no serviço)
No workspace do Microsoft Fabric abra o Dataset publicado, vá às definições de Incremental Refresh e configure o período de retenção e a frequência de actualização (ex.: manter 3 anos, actualizar 1 dia). Para Import escolha também se deve particionar por dia/mês.
Passo 6: Validar políticas de partição e testar o refresh
Execute um refresh manual inicial. Verifique os logs e o tamanho das partições (no caso de Import). Se houver erros comuns, normalmente são: parâmetros mal definidos, coluna de data com valores nulos, ou permissões insuficientes à fonte.
-- Exemplo de verificação no Warehouse (listar partições criadas se aplicável)
SELECT partition_id, min_date, max_date
FROM sys.partitions_metadata
WHERE object_name = 'sales'
ORDER BY min_date DESC;
Verificar o resultado
Confirme que os relatórios mostram dados actualizados conforme o intervalo definido. Para Import verifique que apenas as partições recentes foram recarregadas e que os tempos de refresh são reduzidos. Para Direct Lake, teste queries em relatórios para garantir latência aceitável e que os filtros por data funcionam.
Conclusão
O Incremental Refresh no Power BI no Microsoft Fabric reduz custos e acelera actualizações quando configurado com parâmetros, partições e a escolha correcta entre Direct Lake e Import. Próximos passos: monitorizar refreshes programados, ajustar retenção e considerar agregações por Gold tables. Dica: comece com janelas de refresh curtas para validar e depois alargue.