Skip to main content
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!!!