Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
cauecandeloro
Contributor III
Contributor III

Usando Or, And e Isnull no set analysis

Pessoal,

Estou começando a utilizar algumas funções de set analysis, e surgiram algumas dificuldades.
Estou lendo sobre o assunto mas ainda não consegui encontrar a maneira correta de montar expressões que possuem or, and e isnull.

Seguem exemplos:

1) sum(if(custocompra = 0 or isnull(custocompra), customedio, custocompra))

2) sum(if(novousado = 'N' and filial = 1, frete, fretefora))

Criei duas variáveis de data (Data_Inicial e Data_Final), para que o usuário possa selecionar o intervalo desejado. Neste caso, para expressões mais simples eu até consegui montar a linha completa :
- SUM( {<dtvenda = {">=$(vData_Inicial)<=$(vData_Final)"} >} valorvenda)

Vocês podem me ajudar a montar os dois primeiros exemplos que enviei ? Com isso acho que vou conseguir entender onde estou errando.


Muito Obrigado.
Caue.

1 Solution

Accepted Solutions
thiago_mlg
Creator II
Creator II

Caue, bom dia!

Para explanar um pouco mais a sua dúvida, segue:

o comando OR no set analysis nada mais é do que no mesmo campo vc colocar varias alternativas, desta forma

Sum ({$<custocompra={'0','1','2','3'}  e assim por diante.. o Null vc pode representar por '' no set.. ou seja

Sum ({$<custocompra={'0',''}>}


o AND é só vc separar as expressões por virgula no SET ..


Sum ({$<novousado={N'},filial={1}>}frete) ou seja.. novousado = n and filial = 1


Abraços

View solution in original post

7 Replies
robert_mika
MVP
MVP

Isso ajuda?

OR

Sum ({$<custocompra={'0',''}>}customedio)


AND

Sum ({$<novousado={N'},filial={1}>}frete)

thiago_mlg
Creator II
Creator II

Caue, bom dia!

Para explanar um pouco mais a sua dúvida, segue:

o comando OR no set analysis nada mais é do que no mesmo campo vc colocar varias alternativas, desta forma

Sum ({$<custocompra={'0','1','2','3'}  e assim por diante.. o Null vc pode representar por '' no set.. ou seja

Sum ({$<custocompra={'0',''}>}


o AND é só vc separar as expressões por virgula no SET ..


Sum ({$<novousado={N'},filial={1}>}frete) ou seja.. novousado = n and filial = 1


Abraços

nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Complementando as respostas anteriores: Com o set analysis não é possível referenciar nenhum valor Nulo, desta forma o melhor a se fazer é tratar esses valores nulos para retornar um string qualquer.

cauecandeloro
Contributor III
Contributor III
Author

Pessoal,


Muito obrigado pela ajuda, já estou conseguindo entender melhor o funcionamento das funções.
Nestes casos, como faço para colocar a condição "senão" ?

Ex: Sum ({$<novousado={N'},filial={1}>}frete) , porém caso não seja novousado = N ou filial = 1 eu gostaria de somar outro campo [if(novousado = 'N' and filial = 1, frete, frete2)]....é possível ?

Abs
Caue.

junior_ehlke
Creator III
Creator III

tenta assim

if(novousado='N' and filial='1',

Sum (frete),

Sum (frete2)

)

Desta forma o usuário tera que obrigatoriamente selecionar N para novousado e 1 para filial, caso contrário, somará o frete2

cauecandeloro
Contributor III
Contributor III
Author

Hamilton,

Mas neste caso seria um if normal, sem utilizar o set analysis. Meu problema é adequar este tipo de expressão usando o set analysis.

junior_ehlke
Creator III
Creator III

Funciona no Gráfico, o IF é para seleções,

agora se você quer que apareça os dois, basta criar duas colunas com as formulas para cada uma.