Interface de Composição de Filtros

O sistema utiliza uma arquitetura flexível para a segmentação de dados, onde a lógica de filtragem é organizada em Objetos Filtro nomeados. Esta abordagem permite que um único relatório suporte múltiplos cenários de consulta, atendendo às diversas necessidades de análise do usuário final.

  • Estrutura de Gerenciamento: O sistema permite a persistência de múltiplos objetos filtro para um mesmo relatório, cada qual com seu nome e descrição correspondentes, facilitando a organização e a rápida recuperação de parâmetros de consulta pré-definidos.
  • Composição da Interface: A tela de composição é estruturada em duas abas funcionais distintas:
    • Aba de Manutenção: Destinada ao gerenciamento do ciclo de vida dos filtros, permitindo a criação, edição, renomeação e exclusão das definições de filtro.


                                                                                             Fig. 01

    • Aba de Construção (Sentenças): O ambiente de trabalho onde as sentenças lógicas são definidas. É nesta seção que o usuário estabelece as condições que, posteriormente, serão traduzidas e anexadas ao comando SQL principal do relatório.



                                                                                             Fig. 02

  • Flexibilidade em Tempo de Execução: Ao solicitar a execução de um relatório, o usuário pode selecionar um dos filtros previamente configurados. A interface permite não apenas a alteração dos valores de referência dentro das sentenças existentes, mas também a modificação da própria estrutura lógica do filtro antes da submissão ao motor de processamento do relatório.



Exemplos

A título de exemplificação, detalharemos o processo de definição de um filtro, demonstrando desde a construção de uma estrutura simplificada até a implementação de sentenças complexas. Adicionalmente, para ilustrar a flexibilidade do aplicativo, que permite a coexistência de múltiplos filtros nomeados para um mesmo relatório, procederemos com a inclusão de um novo registro à lista de filtros apresentada na Figura 01 e testaremos os dois conjuntos.


No formulário inclusão/edição de filtros na aba 'Filtros' (figura 01), incluímos um novo filtro:


Fig. 03


Selecionamos o filtro recém criado, e com um duplo clique a aba Sentenças (figura 02) é aberta (ou simplesmente clicamos nela). Essa aba contém o editor de sentenças. 

Daremos uma breve descrição dos componentes e suas responsabilidades dentro do editor a seguir:

Componente

Responsabilidade

Habilita o formulário para inclusão de uma nova sentença.

Cancela a edição da sentença.

Adiciona a sentença à lista de sentenças.

Atualiza uma sentença selecionada.

Remove uma sentença

Limpa a lista de sentenças.

Caixa se seleção de operadores lógicos E/OU (AND/OR)

Seletor de campo para aplicar à sentença.

Seletor de operador de comparação. Tem-se os seguintes valores:

Igual a

comparador de igualdades

Diferente de

comparador de diferenças

Contém

seleciona se o conteúdo do campo possui determinado valor. 

Não contém

seleciona se o conteúdo do campo NÃO possui determinado valor. 

Começa com

seleciona se o conteúdo inicia com determinado valor.

Não começa com

seleciona se o conteúdo NÃO inicia com determinado valor.

Termina com

seleciona se o conteúdo termina com determinado valor.

Não termina com

seleciona se o conteúdo NÃO termina com determinado valor.

Na lista

seleciona se o conteúdo está presente na lista informada. (cada item da lista deve ser separado por '," vírgula).

Não está na lista 

seleciona se o conteúdo NÃO está presente na lista informada. (cada item da lista deve ser separado por '," vírgula.)


Editor de valores de comparação. (se adapta conforme o tipo de dados do campo selecionado).

Botões para inclusão/exclusão de parênteses ou isoladores de sentenças.

Mostra a sentença real SQL gerada (somente disponível para o perfil Administrador).

Criando Sentenças


Vamos, agora, criar a sequência de sentenças que comporão o filtro e verificaremos os resultados.


  1. Selecionamos o botão "Novo". (Caso essa seja a primeira sentença a caixa de seleção de operadores lógicos fica desabilitada). Na lista de campos selecionamos o campo 'Country'.
  2. Em operandos selecionamos 'Na lista' (esse operador pede que entremos com uma lista de valores separados por vírgula).
  3. Informamos a lista no campo editor de valores e pressionamos o botão Adicionar. Ao final teremos a sentença definida mostrada na lista de sentenças:

Fig. 04


Fig. 05


Com esse sentença de filtro definida na figura 05, somente serão retornados registros que contenham 'Brazil' ou Argentina no campo Country.


Podemos aplicar sentenças mais complexas como na figura 06:


Fig. 06



Fig 07