Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
williamjr
New Contributor II

Filtrar o que aparece em uma lista de pesquisa

Conforme anexo, eu carrego uma lista com vários registros, porém, gostaria de filtrar alguns deles, para não carregar todos.

Por exemplo:

Tenho fabricante de veículos - Volkswagen, Fiat e Chevrolet, mas como filtrar para não carregar na lista o fabricante Volkswagen, por exemplo?

(Filtrar na base não resolve)

Tentei algumas condicionais aqui, mas não deu muito certo.

Uma vez escolhido o fabricante, preciso carregar uma lista com modelos, porém, ao selecionar por exemplo Chevrolet, só quero que apareça na lista de modelos os da Chevrolet. Escolhi a opção para ocultar os excluídos, mas o espaço ocupado por essas opções permanece na lista. Eu preciso eliminar esses "buracos".

O ocultar excluídos também oculta os modelos não selecionados do fabricante escolhido. Essas opções teriam que ficar visíveis, como se não tivesse escolhido a opção de ocultar excluídos. O problema de deixar sem essa opção, é que apresenta na lista também os modelos dos outros fabricantes.

Algum ajuda?!

A imagem representa o que eu preciso e o qvw é o exemplo.

Obrigado!

1 Solution

Accepted Solutions
williamjr
New Contributor II

Re: Filtrar o que aparece em uma lista de pesquisa

Pessoal,

Muito obrigado pela ajuda.

Com os exemplos que me enviaram, utilizei algumas coisas que o Paulo enviou, outras do Clever, mais umas dicas e umas coisinhas que acabei fazendo aqui, consegui chegar no resultado que eu precisava.

Muito obrigado a todos e uma pena que não posso marcar as duas soluções como correta, pois usei um pouco de cada!!

Abraços,

14 Replies
paulovendruscol
Contributor

Re: Filtrar o que aparece em uma lista de pesquisa

Veja se atende o anexo

Employee
Employee

Re: Filtrar o que aparece em uma lista de pesquisa

Veja se atende

cleitoncabral2
New Contributor III

Re: Filtrar o que aparece em uma lista de pesquisa

Que restrição você utiliza para fazer isto Clever?

williamjr
New Contributor II

Re: Filtrar o que aparece em uma lista de pesquisa

Oi Clever,

Obrigado pela resposta. Quase isso.

Na lista de fabricante teria que ter sempre um valor selecionado, mas com o uso da expressão, a opção de manter sempre um valor selecionado, fica desabilitada.

Outro problema é na lista de modelos. Quando seleciona um modelo, os demais modelos daquele fabricante teriam que ficar visíveis e disponíveis para seleção.

Employee
Employee

Re: Filtrar o que aparece em uma lista de pesquisa

Vai no listbox, estou utilizando uma expressão ao invés do campo "puro".

Talvez seja melhor você fazer no script, criando um campo para filtro ficaria mais otimizado

dadosTeste:

LOAD Fabricante, Modelo, if(Fabricante <>  'Volkswagen',Fabricante) as FabricanteFiltro INLINE [

    Fabricante, Modelo

    Chevrolet, Celta

    Chevrolet, Onix

    Chevrolet, Prisma

    Chevrolet, Cruize

    Fiat, Punto

    Fiat, Uno

    Fiat, Palio

    Volkswagen, Gol

    Volkswagen, Up

];

williamjr
New Contributor II

Re: Filtrar o que aparece em uma lista de pesquisa

Oi Paulo,

Obrigado por responder.

A solução é quase isso.

O que comentei na solução do Clever também se aplica no seu exemplo.

Será que tem como resolver?

Employee
Employee

Re: Filtrar o que aparece em uma lista de pesquisa

Se você criar um campo conforme exemplo que passei não terá os problemas com o "somente um selecionado"

paulovendruscol
Contributor

Re: Filtrar o que aparece em uma lista de pesquisa

O exemplo que disponibilizei utiliza um campo (expressão), veja abaixo:

=if(Fabricante <> 'Volkswagen', Fabricante)

E essa lista está configurada para (Sempre um valor selecionado). O exemplo que o Clever disponibilizou inicialmente o recurso (Sempre um valor selecionado) não funciona devido a expressão utilizada.

Para habilitar  a opção (Sempre um valor selecionado) da lista, antes você precisa selecionar um registro e depois habilitar a opção (Sempre um valor selecionado)

fabionakashigue
Contributor

Re: Filtrar o que aparece em uma lista de pesquisa

Veja se atende!