Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
guilhermedue
Contributor II
Contributor II

Soma diminuir se

Boa tarde,

Estou precisando de auxílio em uma soma, tenho uma tabela com diversas colunas, a coluna valores, apresenta os valores em módulos e a coluna operação distingue se o valor é uma vantagem ou um desconto.

Acontece que no somatório da coluna valores acaba saindo o valor integral das vantagens e somando os descontos.

Como posso configurar a formula dos valores para considerar a diferença entre as vantagens e os descontos em que a coluna operação esteja assim apresentado.

Exemplo

 

Valor| Operação

10 | V

10 | V

5 | D

Está apresento 25, deveria ser 15.

 

3 Solutions

Accepted Solutions
fosuzuki
Partner - Specialist III
Partner - Specialist III

Guilherme,

tenta assim:

 Sum(If(Operação='D',-1,1) * Valor)

View solution in original post

fosuzuki
Partner - Specialist III
Partner - Specialist III

Aí talvez seja mais fácil inverter:

Sum(If(Operação='V',1,-1) * Valor)

Mas do jeito "mais difícil", seria:

Sum(If(Operação='D' or Operação='O',-1,1) * Valor)

ou

Sum(If(Match(Operação,'D','O'),-1,1) * Valor)

View solution in original post

guilhermedue
Contributor II
Contributor II
Author

Para deixar o valor de apenas uma váriavel fixa utilizei o 

 

Sum(If(Match(Operação,'V'),1) * Valor)/100

View solution in original post

7 Replies
fosuzuki
Partner - Specialist III
Partner - Specialist III

Guilherme,

tenta assim:

 Sum(If(Operação='D',-1,1) * Valor)

guilhermedue
Contributor II
Contributor II
Author

Funcionou, obrigado!

guilhermedue
Contributor II
Contributor II
Author

Desculpe abusar um pouco mais,

Se o campo Operação, possuir mais um item "O" que também deva ser diminuído como ficaria a formula?

fosuzuki
Partner - Specialist III
Partner - Specialist III

Aí talvez seja mais fácil inverter:

Sum(If(Operação='V',1,-1) * Valor)

Mas do jeito "mais difícil", seria:

Sum(If(Operação='D' or Operação='O',-1,1) * Valor)

ou

Sum(If(Match(Operação,'D','O'),-1,1) * Valor)

guilhermedue
Contributor II
Contributor II
Author

Sem palavras, fui tendo que alterar a base do documento. Mas com as tuas opções pode fazer direto por Qlik.

Caso tenhas tempo e souberes gostaria de saber como ficaria o seguinte...

Tenho 4 variáveis que se somam por estarem na mesma COLUNA... V,T,O,D

Preciso que o  V - D -T e desconsidere do cálculo o O.

Acredito que a fórmula tem que ser 2V - D -T e desconsiderar O, pois preciso que o V seja o valor total apresentado no somatório, tem como deixar o valor da variável V sendo o somatório? O preciso fazer 2v - D - T e desconsiderar o O.

guilhermedue
Contributor II
Contributor II
Author

Para deixar o valor de apenas uma váriavel fixa utilizei o 

 

Sum(If(Match(Operação,'V'),1) * Valor)/100

fosuzuki
Partner - Specialist III
Partner - Specialist III

Na verdade, a regra básica é deixar os cálculos o máximo possível no script. Assim, o front-end fica mais leve pro usuário final.

Então vc poderia colocar o If(Operação='D' or Operação='T',-1,If(Operação='O',0,1)) * Valor AS Valor_Corrigido no script, e no layout só fazer Sum(Valor_Corrigido).