Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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)
Para deixar o valor de apenas uma váriavel fixa utilizei o
Sum(If(Match(Operação,'V'),1) * Valor)/100
Guilherme,
tenta assim:
Sum(If(Operação='D',-1,1) * Valor)
Funcionou, obrigado!
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?
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)
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.
Para deixar o valor de apenas uma váriavel fixa utilizei o
Sum(If(Match(Operação,'V'),1) * Valor)/100
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).