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

Como gerar Data Quality Rules em Copilot no Fabric

João Barros 08 de September de 2026 4 min de leitura

Este tutorial mostra como gerar regras de Data Quality no Copilot do Fabric para validar colunas, detetar valores nulos e identificar outliers. É útil para automatizar verificações de qualidade antes de publicar dados num Lakehouse ou Warehouse.

Pré-requisitos

  • Conta com acesso ao Microsoft Fabric e permissões para abrir um Notebook ou um Dataflow Gen2.
  • Dataset de exemplo carregado no OneLake ou no Lakehouse (CSV ou tabela).
  • Noções básicas de SQL ou Python (nível intermédio mínimo).

Passo 1: Abrir o Copilot no contexto do dataset

Abre o ficheiro do dataset no Fabric (por exemplo, num Notebook ou Dataflow Gen2). Seleciona a vista onde estás a ver as colunas. Em seguida, abre o painel do Copilot para que as sugestões se baseiem no contexto do ficheiro aberto. Isso permite ao Copilot analisar nomes de colunas e tipos.

Passo 2: Pedir um inventário de colunas e problemas comuns

Solicita ao Copilot um inventário simples das colunas com sugestões de que verificações fazer (nulos, unicidade, formato). Pede um exemplo de regras em linguagem natural e em SQL/Python.

Prompt exemplo:
"Lista as colunas desta tabela e sugere 5 regras de Data Quality (nulos, unicidade, range, formato, outliers). Mostra regras em SQL e em Python pandas."

Passo 3: Gerar regras em SQL para executar no Warehouse

Com a saída do Copilot, copia as regras SQL geradas e adapta os nomes reais das tabelas/colunas. As regras típicas são contagens de nulos, percentagem de valores únicos, checks de formato com LIKE/REGEXP e outliers com percentis.

Exemplo SQL (ajusta table_name/column):
-- 1. Percentagem de nulos
SELECT
  COUNT(*) AS total_rows,
  SUM(CASE WHEN column IS NULL THEN 1 ELSE 0 END) AS null_count,
  SUM(CASE WHEN column IS NULL THEN 1 ELSE 0 END)*1.0/COUNT(*) AS null_pct
FROM table_name;

-- 2. Verifica unicidade
SELECT COUNT(*) AS total_rows, COUNT(DISTINCT column) AS distinct_count
FROM table_name;

-- 3. Formato (ex.: email)
SELECT COUNT(*) AS invalid_emails
FROM table_name
WHERE column NOT LIKE '%_@__%.__%';

-- 4. Outliers (valores fora dos percentis 1% e 99%)
WITH pct AS (
  SELECT
    approx_percentile(column, 0.01) AS p01,
    approx_percentile(column, 0.99) AS p99
  FROM table_name
)
SELECT * FROM table_name, pct
WHERE column < p01 OR column > p99;

Passo 4: Gerar checks automáticos em Python (pandas) para prototipagem

Se preferires prototipar localmente ou num Notebook, pede ao Copilot o código pandas correspondente. Isso ajuda a validar rapidamente antes de levar para o Warehouse ou Dataflow.

Exemplo Python (pandas):
import pandas as pd

df = pd.read_csv('table_name.csv')  # ou carregar do OneLake
# 1. Percentagem de nulos
null_pct = df['column'].isna().mean()
# 2. Unicidade
distinct_count = df['column'].nunique()
# 3. Formato simples (email)
invalid_emails = df[~df['column'].str.contains(r".+@.+\..+", na=False)]
# 4. Outliers (1% / 99%)
low = df['column'].quantile(0.01)
high = df['column'].quantile(0.99)
outliers = df[(df['column'] < low) | (df['column'] > high)]

print(null_pct, distinct_count, len(invalid_emails), len(outliers))

Passo 5: Transformar regras em checks reutilizáveis (Template de Prompt)

Cria um prompt padrão para o Copilot que contenha o padrão das verificações e parâmetros (limiares de aceitação). Assim, podes reutilizar para outras tabelas mudando apenas o nome e os limiares.

Prompt template exemplo:
"Gera um conjunto de checks de Data Quality para a tabela {table_name}. Inclui: percentagem de nulos por coluna, verificação de unicidade para chaves, formatos para colunas 'email' e 'date', e deteção de outliers com limiar 1%/99%. Devolve código SQL e Python."

Verificar o resultado

Executa os scripts SQL no Warehouse ou o código Python no Notebook e confirma os retornos: percentagens de nulos aceitáveis, contagem de valores inválidos e lista de outliers. Se os valores excederem os limiares, marca como falha. Erros comuns: nomes de colunas diferentes, tipos incorretos (string vs numeric) e funções SQL suportadas pelo engine do Warehouse — ajusta conforme necessário.

Conclusão

Usando o Copilot no Fabric consegues gerar rapidamente regras de Data Quality em SQL e Python para validar tabelas antes da publicação. Próximos passos: integrar estas checks num Dataflow Gen2 ou agendar no Warehouse para monitorização contínua. Dica: mantém um prompt template com limiares para acelerar auditorias; que regra gostavas de automatizar primeiro?