Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
thiago_mlg
Creator II
Creator II

Expressão com Null + Condição + Negação de Filtro

Boa tarde!

Estou com dificuldade na seguinte expressão:

Por exemplo. Para fazermos uma soma em um set analisys tendo uma condição como null usamos a seguinte expressão:

sum( { - <CAMPO={'*'} >} VALOR)

Para fazermos uma soma considerando o campo como nulo e adicionando outra condição usamos:

sum( { - <CAMPO={'*'}> * <CAMPO2={'FILTRO'}> >} VALOR)  

Onde o operador * é válido como um E 


Agora minha dúvida. como eu digo que


some ( onde <CAMPO = NULL> E <CAMPO2 = 'filtro'> E <DESCONSIDERE O CAMPO3> >} VALOR)


Já tentei algumas opções como abaixo:


sum( { - <CAMPO={'*'}> * <CAMPO2={'FILTRO'}> * <CAMPO3= > >} VALOR)  


sum( { - <CAMPO={'*'}> * <CAMPO2={'FILTRO'}> + <CAMPO3= > >} VALOR)


Alguma solução????


Obrigado!



1 Solution

Accepted Solutions
thiago_mlg
Creator II
Creator II
Author

Amigos, boa tarde!

consegui resolver, entendi a lógica, mais não consigo explicar..

Mas para que funcione corretamente as duas partes da expressão deve conter o código que desconsidera os campos, ficando assim:

sum( { - <CAMPO={'*'}, CAMPO3= > * <CAMPO2={'FILTRO'}, CAMPO3= > } VALOR)

Caso não coloque nos dois, nao funciona!

Segue um qvw que criei para testar, caso vocês queiram tirar a prova e entender a lógica.. Caso vocês saibam o por que isso acontece e puderem explicar eu classifico como util e agradeço.

Obrigado!

View solution in original post

5 Replies
nicolett_yuri

Você quer desconsiderar as seleções realizadas no campo3 ?


adicione o campo3 em seu segundo conjunto de dados: <CAMPO2={'FILTRO'}, CAMPO3>

Clever_Anjos
Employee
Employee

Tente

sum( { - <CAMPO={'*'}> * <CAMPO2={'FILTRO'}, CAMPO3= > } VALOR)

thiago_mlg
Creator II
Creator II
Author

Amigos, boa tarde!

consegui resolver, entendi a lógica, mais não consigo explicar..

Mas para que funcione corretamente as duas partes da expressão deve conter o código que desconsidera os campos, ficando assim:

sum( { - <CAMPO={'*'}, CAMPO3= > * <CAMPO2={'FILTRO'}, CAMPO3= > } VALOR)

Caso não coloque nos dois, nao funciona!

Segue um qvw que criei para testar, caso vocês queiram tirar a prova e entender a lógica.. Caso vocês saibam o por que isso acontece e puderem explicar eu classifico como util e agradeço.

Obrigado!

lucianosv
Specialist
Specialist

cada bloco representa uma condição. Se você colocar só em uma, elas se anulam na combinação.

nicolett_yuri

Isso mesmo Luciano!