Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
nicolett_yuri

Re: Query Not Like

Basta colocar virgula e o próximo valor, por exemplo:

SUM({<CAMPO -= {'*casa*','*quarto*'}>}VALOR)

Segue em anexo um exemplo

9 Replies
Not applicable

Yuri,

Bom dia!

Obrigado pela rápida resposta. Cliquei em ramificar, e acho que ele desmembrou sua resposta da minha pergunta rsrs...

E quando eu preciso tirar um texto mas achar outro dentro da mesma consulta, usando o seu exemplo eu quero somente casa, sem a palavra Minha...

SUM({<CAMPO = {'*casa*'}, CAMPO -= {'*Minha*'}>}VALOR)

thiago_mlg
Creator II
Creator II

Yuri, só para adicionar que a expressão no seguinte formato, invertendo os sinais, também funciona.

SUM({<CAMPO =- {'*casa*','*quarto*'}>}VALOR)


e para vocês que iram utilizar essa expressão pela primeira vez, ela marca a expressão com o sublinhado de erro conforme abaixo, porem funciona normalmente, e note na imagem que aparece como Expression OK.  


ou invertendo os sinais:

Esperto ter contribuído.

Thiago Gonçalo

nicolett_yuri
Author

É isso mesmo Guilherme

Not applicable

Yuri, dá erro. Olha como fica:

Deveria ser:

Tipo, quero os resultados de casa, sem o resultado de Minha casa....

Obrigado.

thiago_mlg
Creator II
Creator II

Guilherme, este comando é case sensitive, ou seja, no CAMPO = {'*casa*'}, coloque *Casa*.

Not applicable

Thiago,

Bom dia!

Obrigado pela ajuda, mas no exemplo não mudou em nada, e na minha aplicação eu já havia tomado este cuidado.

O que eu preciso é que tragam as casas, sem o registro "Minha casa".

Na minha aplicação São incidentes e tenho que fazer a mesma coisa, mas com outras palavras.

Grato.

nicolett_yuri
Author

Guilherme, repare que estamos utilizando '*casa*' ou seja, qualquer texto que possua casa na palavra. Caso eu queira contemplar somente os registros que se iniciam com a palavra casa, então devo utilizar 'casa*', caso não consiga resolver isso utilizando os caracteres curinga "*" ou "?", então você terá que passar caso a caso, por exemplo:

SUM({<CAMPO = {'casa 1','casa 2', 'casa 3'}>}VALOR)

thiago_mlg
Creator II
Creator II

Guilherme,

Segundo o que eu testei aqui, o que está acontecendo é que quando vc coloca, dentro do mesmo SetAnalysis uma verificação de negação e uma de afirmação ele da esse problema, ele compreende apenas a segunda verificação, ou seja, você pode testar ai:

SUM({<CAMPO = {'*casa*'}, CAMPO -= {'*Minha*'}>}VALOR) /* neste caso ele vai trazer tudo que for diferente de Minha.


SUM({<CAMPO -= {'*Minha*'}, CAMPO = {'*casa*'}>}VALOR) /* neste caso ele vai trazer tudo que é igual a Casa.


Acredito que a solução para isso seja fazer um IF antes e utilizar a função wildmatch que permite a utilização de caracteres coringas. Ficará assim:


= if(NOT WILDMATCH(CAMPO,'*Minha*'), sum({< CAMPO = {'*casa*'}  >} Valor))


o WildMatch funciona como o IN do Sql.


Esperto ter ajudado.


Att,




Not applicable

Yuri e Thiago.

Muito Obrigado pela ajuda de vocês. Yuri, valeu pelo exemplo, me ajudou muito.

Só para registrar eu resolvi assim:

=Count(

       {

            $<Ano={2014}, TNC_NOMSGI = {'*Material Biológico*'}>

       } TNC_ACIDEN

       ) - Count(

       {

            $<Ano={2014}, TNC_NOMSGI = {'*Pérfuro-cortante*'}>

       } TNC_ACIDEN

  )

Acabei fazendo separado os valores que somam a quantidade e os que não deveriam aparecer.

Valeu!!!