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

Como criar filtros conversacionais no Copilot do Power BI

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

Aprende a criar filtros conversacionais no Copilot do Power BI para que utilizadores possam filtrar relatórios usando linguagem natural. Isto é útil para tornar os relatórios mais acessíveis e reduzir a necessidade de criar múltiplos slicers manuais. Com uma implementação simples podes permitir que uma pergunta como "Mostrar receitas no Norte no último trimestre" aplique automaticamente filtros nos visuais e apresente resultados coerentes.

Pré-requisitos

  • Conta com licença que inclua Copilot no Power BI e acesso ao relatório a editar. Confirma que tens permissões de edição no workspace onde o relatório está publicado.
  • Relatório Power BI (.pbix) publicado num workspace com OneLake/Power BI Service. Idealmente o modelo está actualizado e com refresh automático configurado (ex.: refresh diário).
  • Modelo de dados com colunas bem definidas (ex.: Produto, Região, Data). Colunas-chave devem ter dados limpos: por exemplo, Region com menos de 50 valores únicos facilita o mapeamento.

Passo 1: Identificar campos que devem ser filtráveis por linguagem natural

Escolhe quais campos os utilizadores normalmente perguntarão em linguagem natural (ex.: Categoria, Região, Segmento). Cria uma lista curta para começar — muitos filtros complexos tornam a experiência confusa. Por exemplo, identifica 3 a 5 campos críticos (Region, ProductCategory, SalesChannel). Se o teu modelo tiver 200 colunas, concentra-te nas 10 mais usadas nos relatórios: estas normalmente trazem 80% das interacções.

Passo 2: Criar tabelas de mapeamento de sinónimos no modelo

Para que o Copilot entenda variações (ex.: "vendas na zona norte", "Norte", "Zona Norte"), cria uma tabela simples no Power BI com sinónimos. Esta tabela permite mapear termos livres para valores canónicos e reduz falhas de interpretação. Podes manter esta tabela pequena (100–500 linhas) e expandi-la consoante o feedback.

// Exemplo de tabela Synonyms criada em Power Query (M)
let
  Source = Table.FromRecords({
    [Canonical="Norte", Synonym="Norte"],
    [Canonical="Norte", Synonym="Zona Norte"],
    [Canonical="Norte", Synonym="N."],
    [Canonical="Sul", Synonym="Sul"],
    [Canonical="Sul", Synonym="Zona Sul"]
  }),
  Renamed = Table.RenameColumns(Source,{{"Canonical","RegionCanonical"},{"Synonym","RegionSynonym"}})
in
  Renamed

Exemplo prático: se o teu relatório cobre 4 regiões (Norte, Centro, Sul, Ilhas), a tabela pode ter 12–20 sinónimos para captar abreviaturas, nomes locais e erros comuns.

Passo 3: Relacionar a tabela de sinónimos com a dimensão principal

Cria uma relação entre a coluna canónica da tabela de sinónimos e a dimensão Região no modelo. Usa relacionamento Many-to-One (muitos sinónimos → 1 região) para que a filtragem funcione correctamente. Configura a orientação do filtro para que o contexto flua da dimensão principal para tabelas factuais; tipicamente a relação é Single direction e activa.

Passo 4: Expor metadados e descrições úteis para o Copilot

Adiciona descrições às colunas importantes (Model view -> Column tools -> Description). Explica termos e sinónimos para que o Copilot saiba interpretar intenções como "faturação" = "Revenue". Por exemplo, na coluna Revenue coloca a descrição "Faturação em euros, deduz devoluções". Estas descrições ajudam o Copilot a mapear linguagem natural para campos técnicos e reduzem ambiguidades quando existem campos com nomes semelhantes.

Passo 5: Criar measures de apoio para filtragem conversacional

Cria uma measure que retorne valores quando um filtro conversacional é aplicado. Isto ajuda o Copilot a saber que uma região foi seleccionada a partir do mapeamento de sinónimos. Measures também podem fornecer contexto nos cartões e títulos dinâmicos.

// Exemplo DAX: SelectedRegionName
SelectedRegionName =
VAR sel = SELECTEDVALUE('Region'[RegionName])
RETURN IF(NOT(ISBLANK(sel)), sel, "Todas")

Podes complementar com uma measure que conte ocorrências ou que exiba um resumo rápido, por exemplo: "TotalRevenueSelected" que mostra o total filtrado pelos inputs conversacionais. Estas measures ajudam o utilizador a confirmar que o filtro foi aplicado (por exemplo, mostra "Norte — €1.2M" no título do relatório).

Passo 6: Testar prompts no Copilot com exemplos práticos

Abre o Copilot no Power BI Service e testa prompts como: "Mostrar receitas no Norte no último trimestre" ou "Filtra por Zona Norte". Observa se o Copilot aplica o filtro correcto e utiliza a measure para apresentar contexto. Testa variações: com e sem acentos, com abreviaturas e frases completas. Por exemplo:

  • "Receita Norte Q2"
  • "Mostrar vendas N."
  • "Filtra por Zona Sul e por Produto = 'A'"

Passo 7: Ajustar mapeamentos e treinar com exemplos

Regista as frases que os utilizadores mais usam e adiciona-as à tabela de sinónimos. Se o Copilot interpretar mal, adiciona descrições ou expande a tabela. Isto é iteração: mais exemplos melhoram a precisão. Idealmente recolhe 50–200 exemplos reais no primeiro mês e ajusta o dicionário. Mantém um processo de revisão mensal para adicionar novos sinónimos e eliminar ambiguidades.

Verificar o resultado

Confirma que o Copilot aplica correctamente os filtros solicitados por linguagem natural: pede várias variações (ex.: "vendas Norte", "zona norte", "N.") e verifica que os visuais actualizam e que a measure SelectedRegionName mostra o valor esperado. Performance: valida que as queries não tornam o relatório lento; se necessário optimiza relações ou as queries no Power Query.

Conclusão

Ao criar tabelas de sinónimos, adicionar descrições e criar measures de apoio, transformas o Copilot no Power BI numa ferramenta de filtragem por linguagem natural mais robusta. Próximos passos: automatizar a importação de sinónimos a partir de um ficheiro ou integrar feedback dos utilizadores para expandir o dicionário. Dica: começa com poucas entidades críticas e expande conforme recebes erros comuns ou pedidos repetidos. Com iteração regular, podes reduzir em 30–50% as perguntas mal interpretadas e aumentar a satisfação dos utilizadores.