2.8 Usando filtros e controles de entrada

Os domínios usam mecanismos diferentes para triagem dos dados.

  • É possível filtrar domínios (e Tópicos de Domínio) selecionando os campos no Domínio e especificando valores de comparação. Os filtros podem ser configurados para os usuários selecionarem os dados.

  • No design do Domínio, os filtros baseados em condições também podem ser definidos; esses filtros não são exibidos no viewer de relatório durante a execução do relatório.

Você poderá definir filtros no Editor Ad Hoc se estiver trabalhando com dados de um Domínio ou Tópico. Esses filtros são úteis para melhorar o desempenho inicial da tela reduzindo a quantidade de dados que a tela retorna por padrão.

Para impedir que os usuários vejam o conjunto de dados completo, você também pode usar controles de entrada em um Tópico JRXML ou filtros definidos no design do Domínio, que podem ser ocultos dos usuários finais. Para obter mais informações, consulte a Seção 2.8.3, Controles de entrada e disponibilidade de filtros.

Os controles de entrada e os filtros se interagem perfeitamente. Por exemplo, é possível criar filtros em uma Tela Ad Hoc para obter dados de um Tópico JRXML que inclui controles de entrada.

O servidor atualiza o editor de acordo com os filtros e os controles de entrada. Como algumas combinações de controles de entrada e filtros não retornam dados, isso pode resultar em uma tela vazia.

NOTA:Se o conjunto de resultados estiver vazio, verifique se há alguma combinação incompatível de filtros e controles de entrada, como um filtro padrão e um filtro Manter Apenas, ou alguma expressão de filtro personalizada definida incorretamente. (Os dados devem atender a todos os critérios em vários filtros, e não aos critérios em determinado subconjunto desses filtros.) Para obter mais informações, consulte Filtragem personalizada.

JRXML é um formato de arquivo XML para gravação e compartilhamento de relatórios criados para o Gerador de Relatórios do ZENworks e os aplicativos que o utilizam, como iReport Designer e Gerador de Relatórios do ZENworks. JRXML é um formato aberto que usa o padrão XML para definir precisamente toda a estrutura e configuração de um relatório.

Em alguns casos, os filtros podem entrar em conflito com os parâmetros de tela, e você deve renomear o campo que está gerando o conflito editando o arquivo JRXML.

2.8.1 Usando filtros

É possível definir filtros nos seguintes locais:

  • Seletor de Dados (ao criar uma tela de um Domínio).

  • Editor Ad Hoc (mesmo quando a tela baseia-se em um Tópico JRXML).

Para obter informações sobre como definir filtros no Seletor de Dados, consulte Pré-filtrando dados.

Você também pode controlar como e quais filtros serão aplicados a um ou mais campos usando expressões personalizadas. Para obter mais informações, consulte Filtragem personalizada.

Para criar um filtro no Editor Ad Hoc:

  1. Clique o botão direito do mouse no painel Data Source Selection (Seleção da Fonte de Dados) e clique em Criar Filtro.

    Um novo filtro aparece no painel Filtros. Se o painel Filtros estiver oculto, ele aparecerá quando você criar um novo filtro.

    Se não houver resultados, verifique se há alguma combinação incompatível de filtros e controles de entrada. Clique em para comparar os controles de entrada com os filtros no painel Filtros.

    Para o banco de dados Oracle, é possível usar o valor “Nulo” ao criar um filtro. Para os bancos de dados MS SQL e Sybase, você pode usar um valor em branco.

  2. Use os campos no filtro para mudar seu valor.

    Dependendo do tipo de dados selecionado, o filtro pode ser uma entrada de seleção múltipla, seleção única ou texto.

  3. Clique em e selecione Minimize All Filters (Minimizar Todos os Filtros) ou Maximize All Filters (Maximizar Todos os Filtros) para alternar a expansão dos itens no filtro.

  4. Clique em e selecione Remove All Filters (Remover Todos os Filtros) para remover os filtros.

  5. Clique em para ocultar os detalhes do filtro.

  6. Clique em para ver os detalhes do filtro.

  7. Clique na caixa de seleção Selecionar Tudo (se ela aparecer no painel Filtros) para selecionar todos os valores no conjunto de dados.

    A caixa Selecionar Tudo não aparece no painel Filtros para números e datas.

NOTA:A caixa de seleção Selecionar Tudo não garante que todos os valores sejam selecionados sempre que o relatório é executado. Em vez disso, a caixa de seleção é um atalho para ajudar você a selecionar rapidamente todos os valores que estão disponíveis no conjunto de dados. Para garantir que todos os valores apareçam na tela sempre que forem editados ou sempre que um relatório for executado, remova o filtro inteiramente. No painel, você também pode criar um filtro usando o menu de contexto de uma coluna em uma tabela. Na guia Gráfico, você deve clicar o botão direito do mouse no campo no painel Seleção da Fonte de Dados.

Quando você muda um filtro, o servidor usa o novo valor para determinar os dados a serem exibidos. Se você mudar apenas o operador em um filtro, deverá anular a seleção do valor nesse filtro e, em seguida, selecioná-lo novamente para aplicar o filtro atualizado.

Para filtros com vários valores, não é necessário selecionar todos os valores novamente. Após mudar o operador, use Ctrl+clique para anular a seleção de um dos valores e, em seguida, Ctrl+clique para selecionar o valor novamente.

Datas relativas

É possível filtrar as informações na tela com base em uma faixa de datas relativas à data atual do sistema. Para ver esse tipo de informações, use os filtros baseados em data e especifique uma expressão de texto que descreva a data relativa ou o intervalo de datas que deseja ver, usando o formato <palavra-chave>+/-<Número>.

  • Palavra-chave indica o intervalo de tempo que você deseja usar. As opções incluem: DIA, SEMANA, TRIMESTRE, SEMESTRE e ANO.

  • + ou - indica se o intervalo de tempo ocorre antes ou depois da data selecionada.

  • Número indica a quantidade de intervalos de tempo que você deseja incluir no filtro.

Para criar um filtro de data relativa:

  1. Siga as instruções da Seção 2.8.1, Usando filtros.

  2. Na primeira caixa de texto do filtro, especifique uma expressão que descreva a data relativa ou a data do intervalo.

  3. Na segunda caixa de texto do filtro, especifique a data que você deseja usar como base para o filtro.

Para criar filtros complexos:

  1. Clique o botão direito do mouse em um membro do grupo na tabela cruzada e selecione Manter Apenas ou Excluir.

    Quando você cria um filtro para um grupo interno, o filtro exibido pode ser criado como um filtro complexo.

    Não é possível editar um filtro complexo, mas é possível removê-lo. Os filtros complexos também aparecerão no Editor Ad Hoc se um filtro for criado e bloqueado no assistente Seletor de Dados.

Filtragem personalizada

Quando você cria vários filtros, por padrão, eles são conectados a um operador E implícito; ou seja, os dados exibidos na tabela, no gráfico ou na tabela cruzada são os que permanecerão após a aplicação de todos os seus filtros.

Porém, com a funcionalidade de filtro personalizado, é possível controlar os dados exibidos aplicando uma expressão personalizada que inclua operadores E, OU e NÃO aninhados mais complexos e aplicando também vários filtros a um único campo.

NOTA:Os filtros personalizados não estão disponíveis para telas Ad Hoc criadas de conexões OLAP.

Os filtros personalizados são úteis em situações como:

  • Quando o uso do operador E não é suficiente. Por exemplo: Considere uma empresa internacional que deseja verificar os dados de produtos do sistema operacional Windows não licenciados implantados em seus escritórios na Wall Street. Neste exemplo, o usuário tem a tabela que inclui as seguintes colunas:

    • Site

    • Nome do Produto do OS

    • Tipo de Licença

    Para analisar os dados de licença específicos descritos acima, o usuário cria os seguintes filtros (simples), incluindo dois filtros para o campo Tipo de Licença:

    • A): Local é igual a Wall Street

    • B): Nome do produto do OS contém Windows

    • C): Tipo de licença é igual a Desconhecido

    • D): Tipo de licença é igual a Aval.

    Depois, para exibir apenas as informações necessárias, a seguinte expressão personalizada é criada:

    • A e (B e (C ou D))

    Isso significa:

    • (Local é Wall Street) e ((Nome do Produto do OS contém Windows) e ((Tipo de Licença é Desconhecido) ou (Tipo de Licença é Aval.)))

  • Quando você precisa eliminar alguns resultados em um campo. Por exemplo, se a empresa deseja verificar os dados de todos os produtos do sistema operacional Windows, exceto os totalmente licenciados, um usuário tem uma tabela que inclui as seguintes colunas:

    • Nome do Produto do OS

    • Tipo de Licença

    Para analisar os dados de licença específicos descritos acima, o usuário cria os seguintes filtros (simples):

    • A): Nome do produto do OS contém Windows

    • B): Tipo de licença é igual a total

    Depois, para exibir apenas as informações necessárias, a seguinte expressão personalizada é criada:

    • A e (não B)

    Isso significa:

    • (Nome do Produto do OS contém Windows) e (não (Tipo de Licença é igual a Total))

Esses são apenas dois cenários em que os filtros personalizados podem complementar os resultados e tornar a exibição mais precisa. Há muitas outras situações em que eles podem ser aplicados.

Veja a seguir outras tarefas de filtro personalizado:

  • Criando uma expressão personalizada

  • Editando uma expressão personalizada

  • Removendo uma expressão personalizada

  • Aplicação de vários filtros a um único campo

    NOTA:Os filtros personalizados são aplicados às Telas, mas os detalhes do filtro não aparecem nas visualizações nem no relatório gerado dessas telas.

Para criar e aplicar um filtro personalizado:

  1. Crie dois ou mais filtros para os seus dados, conforme descrito na Seção 2.8.1, Usando filtros. Eles podem ser filtros padrão com base no campo ou os filtros Keep Only (Manter Apenas) e Excluir.

    À medida que você cria os filtros para usar em uma expressão personalizada, os dados na tela desaparecem, já que a maioria dos dados não atende a todos os critérios do filtro. Quando você cria a expressão personalizada e muda alguns dos operadores E para OU e para NÃO, os dados aparecem novamente.

  2. Na parte inferior do painel de filtro, expanda a seção Expressão de Filtro Personalizado.

  3. Na caixa de entrada de texto, digite uma expressão de filtro usando a designação da letra e incluindo os seguintes operadores:

    • E restringe os resultados e inclui apenas campos que atendem aos critérios de ambos os filtros que estão antes e depois do operador.

    • OU amplia os resultados e inclui campos que atendem aos critérios de um dos filtros que estão antes e depois do operador.

    • NÃO exclui os resultados que correspondem aos critérios.

    • Parênteses combinam vários filtros em um único item na expressão.

      NOTA:As designações de letra de filtro diferenciam maiúsculas de minúsculas e devem ser MAIÚSCULAS.

  4. Clique em Aplicar. A tela é atualizada para refletir os critérios de filtro recém-aplicados.

Após criar um filtro personalizado, você poderá adicionar outro filtro à expressão ou remover a expressão existente.

NOTA:Se o filtro simples que você deseja apagar fizer parte de um filtro personalizado, primeiro você deverá removê-lo da expressão de filtro personalizado; do contrário, a exclusão do filtro apagará a expressão de filtro personalizado.

Para adicionar um novo filtro a uma expressão personalizada existente:

  1. Crie o novo filtro no painel Filtro

  2. Na Expressão de Filtro Personalizado, clique dentro da caixa de entrada de texto para editar a expressão.

  3. Adicione um novo filtro à expressão.

  4. Clique em Aplicar para aplicar os novos critérios.

Para remover um filtro de uma expressão personalizada:

  1. Expanda a seção Expressão de Filtro Personalizado.

  2. Na caixa de entrada de texto, remova o filtro indesejado da expressão e ajuste-a conforme necessário.

  3. Clique em Aplicar para aplicar os novos critérios.

Ao trabalhar com expressões personalizadas, você pode apagar uma expressão existente e criar uma nova.

Para remover a expressão personalizada da tela:

  1. Expanda a seção Expressão de Filtro Personalizado.

  2. Limpe a expressão da caixa de entrada de texto.

  3. Clique em Aplicar. A expressão é removida, deixando os demais filtros intactos.

Ao refinar a expressão personalizada, você pode apagar os filtros não usados do painel Filtros.

  • Para remover o filtro do filtro personalizado, posicione o cursor do mouse sobre na barra de título do Filtro e clique em Remover Filtro.

  • Para remover todos os filtros existentes, incluindo a expressão personalizada, posicione o cursor do mouse sobre , no painel Filtros, e clique em Remover Todos os Filtros.

2.8.2 Usando controles de entrada

No Editor Ad Hoc, é possível ver os controles de entrada definidos no Tópico como visíveis aos usuários. Você pode aceitar os valores padrão dos controles ou inserir outros valores. Para indicar que a tela tem entradas de controle, o Editor Ad Hoc exibe o ícone como ativo na barra de ferramentas. Clique no ícone para selecionar novos valores ou gravar valores como novos padrões para esta tela.

Para adicionar um controle de entrada à tela usando um filtro:

  1. Crie um novo filtro ou use um filtro existente no painel Filtros.

  2. Em Filtros, clique em ao lado do novo filtro e selecione Show Operator (Mostrar Operador).

  3. Selecione um operador na lista suspensa e especifique o valor na caixa de texto.

    O filtro aparece como um controle de entrada quando a tela é usada para executar o relatório.

  4. Posicione o cursor sobre e selecione Save Ad Hoc View as... (Gravar Tela Ad Hoc como).

  5. Dê um nome para a tela, selecione um local e clique em Gravar.

  6. Na barra de ferramentas, clique em .

    Apenas os controles de entrada definidos no tópico são exibidos. Se não houver nenhum controle de entrada definido no tópico, o botão aparecerá esmaecido.

Para editar os valores dos controles de entrada de uma tela:

  1. Na barra de ferramentas, clique em .

    Aparece uma janela com a lista dos controles de entrada definidos no Tópico.

  2. Selecione novos valores.

  3. Para mudar os valores padrão dos controles de entrada, marque a caixa de seleção intitulada Set these values as defaults when saving your view (Definir estes valores como padrões ao gravar a tela).

    Os valores selecionados tornam-se os valores padrão quando você grava a tela.

  4. Clique em OK.

    A Tela Ad Hoc mostra os dados atualizados.

2.8.3 Controles de entrada e disponibilidade de filtros

Os controles de entrada e os filtros são exibidos no Editor e quando você executa um relatório.

  • É possível definir os controles de entrada para ficarem visíveis ou invisíveis quando você editar uma tela:

    • Os controles de entrada que estiverem definidos como Always prompt (Sempre solicitar) serão exibidos no editor e sempre aparecerão antes da execução do relatório.

    • Os controles de entrada que não estiverem definidos como Always prompt (Sempre solicitar) ficarão ocultos no editor e aparecerão quando o relatório for executado.

  • Os filtros criados no assistente Seletor de Dados podem ser bloqueados ou desbloqueados:

    • Os filtros desbloqueados mostram os detalhes do filtro no editor e estão disponíveis pelo botão Opções durante a execução do relatório.

    • Os filtros bloqueados mostram os controles de entrada no Editor quando você clica neste ícone . No entanto, eles não estão disponíveis pelo botão Opções durante a execução do relatório. É possível remover o filtro do Editor, permitindo a visualização de todos os dados não filtrados durante a execução do relatório.

  • Os filtros definidos no editor estão sempre disponíveis no painel Filtros do editor e pelo botão Opções durante a execução do relatório.

Ao configurar controles de entrada para uma tela grande que leva muito tempo para ser executada, convém definir a tela como Always prompt (Sempre solicitar). Antes da execução de um relatório, o viewer de relatório solicita que você insira as opções de entrada, impedindo que o relatório seja executado com as opções de entrada padrão.

Os filtros desbloqueados estão disponíveis. Quando os controles de entrada ou os filtros não aparecem no viewer de relatório, clique no botão Opções para vê-los.

Para definir um controle de entrada para solicitar:

  1. Localize um Tópico, no repositório, e clique em Editar.

  2. No painel Controls & Resources (Controles e Recursos), nas Opções de Controle de Entrada, clique em Always prompt (Sempre solicitar).

Para determinar se um controle de entrada estará visível:

  1. Localize um Tópico, por exemplo, Relatório com Parâmetros, no repositório e clique em Editar.

  2. No painel Controls & Resources (Controles e Recursos), clique no nome de um controle de entrada.

  3. No painel Locate Input Control (Localizar Controle de Entrada), clique em Avançar.

    Na parte inferior do painel Create Input Control (Criar Controle de Entrada), se a caixa de seleção Visível estiver selecionada, o controle de entrada aparecerá no relatório durante sua execução.

    Se você não especificar um valor padrão para o controle de entrada, será solicitado para os usuários selecionarem um valor ao criarem uma Tela com base no Tópico.

Para bloquear um filtro:

  1. No Seletor de Dados, após selecionar os campos, clique em Pre-filters (Pré-filtros).

  2. Clique duas vezes em um campo no painel Campos.

  3. No painel Filtros, defina um filtro.

    Para obter mais informações, consulte Pré-filtrando dados.

  4. Marque a caixa de seleção Locked (Bloqueado) e clique em OK.

  5. Clique em Tabela para abrir o Editor Ad Hoc.

    No painel Filtros, o nome do filtro e uma nota sobre o bloqueio aparecem sob o cabeçalho Locked (Bloqueado).