Entendendo os Campos de Busca Lookup

Em modelagem de dados e sistemas de relatórios, um campo do tipo Lookup (ou campo de consulta) é um recurso de interface e engenharia de dados que substitui a digitação manual de códigos por uma lista de seleção visual alimentada em tempo real por uma tabela secundária do banco de dados.

O objetivo principal do Lookup é humanizar e blindar a parametrização de filtros. Em bancos de dados relacionais, entidades dependentes costumam ser amarradas por chaves numéricas ou hashes (IDs) que não possuem significado imediato para o usuário de negócios. O mecanismo de Lookup intercepta esse cenário mapeando a chave interna para uma coluna descritiva legível.


O Problema vs. A Solução com Lookup

Sem a configuração de um Lookup, se o usuário final precisasse extrair um relatório de vendas focado em um único ponto comercial ou produto, o fluxo operacional seria o seguinte:

  • Cenário Comum (Sem Lookup): O operador abre o editor de filtros no relatório e se depara com uma restrição técnica pura, precisando digitar exatamente uma informação crua:
    • Filtro: IdFilial = 24 ou CategoriaId = "8a3f7ec8"
    • Problema: O usuário é obrigado a adivinhar ou consultar uma planilha externa para saber a qual filial física o número 24 corresponde. Qualquer erro de digitação resulta em um relatório em branco ou incorreto.
  • Cenário Otimizado (Com Lookup): Ao mapear previamente o campo como um Lookup na Fonte de Dados, a aplicação altera dinamicamente o controle de entrada de dados exibido na tela:
    • Filtro: O campo passa a exibir uma lista de seleção (Combobox ou Dropdown).
    • Comportamento: O operador apenas clica no menu e seleciona visualmente a opção "Filial Centro" ou "Filial Porto Alegre".
    • Por Trás dos Panos: O motor do sistema traduz a escolha textual amigável do usuário de volta para o código correspondente (24) de forma totalmente transparente antes de submeter a query final ao banco.


Benefícios na Configuração do Datasource

Mapear tabelas auxiliares como fontes de Lookup traz três vantagens críticas para o ecossistema do sistema:

  1. Garantia de Integridade: Extingue erros de digitação e consultas inválidas geradas por filtros construídos com dados inexistentes no catálogo.
  2. Agilidade Operacional: Acelera o processo de extração de relatórios, pois o usuário não precisa memorizar ou rastrear chaves estruturais.
  3. Segurança e Abstração: O usuário consome a inteligência do banco de dados sem a necessidade de compreender relacionamentos complexos de chaves primárias e chaves estrangeiras (PK/FK).


No sistema cadastramos esse tipo de campo a partir da tela de listagem de campos de lookups: 


Fig. 01


Formulário de Adição de Lookups:

Esta tela permite configurar a amarração entre a tabela principal da Fonte de Dados e uma tabela auxiliar do banco, transformando um campo de texto ou ID em uma lista seletiva visual para o usuário final:


Fig. 02

Parametrização do Mapeamento

  • Campo Origem: O campo da sua tabela principal (geralmente uma chave estrangeira/ID) que receberá o comportamento de Lookup (ex: EmployeeID).
  • Conexão do Lookup: O servidor e a base de dados onde a tabela auxiliar está hospedada. O sistema permite buscar dados inclusive de outras conexões homologadas.
  • Tabela do Lookup: O objeto físico do banco de dados que contém a lista de opções que você deseja expor (ex: a tabela Employees).
  • Campo Chave (Valor): A coluna da tabela auxiliar que contém o código interno real que o banco de dados espera receber na query (geralmente a chave primária, ex: EmployeeID).
  • Campo Exibição (Texto): A coluna da tabela auxiliar que contém o nome amigável ou descrição humanizada que o usuário final verá na tela (ex: LastName ou NomeDoFuncionario).


Para exemplificação temos na figura 03 e 04 uma entrada de lookup e em seguida o efeito na tela de filtragem de dados:


Fig. 03


Fig. 04