Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
claudemir_dioto
Contributor III
Contributor III

Soma em campo com sinal (+,-)

Olá pessoal, bom dia.

Tenho uma situação em que, no ERP, as informações de valores a acrescentar e subtrair de um documento a pagar, por exemplo, ao invés de estar cadastrado os valores em campos separados, tipo valor_negativo e valor_positivo, tenho somente o campo valor, e num campo ao lado, os sinais indicando se é soma (+ )  ou subtração (- ).

A dúvida minha é como criar uma expressão para que para um ID, tiver um valor em que no campo do sinal for + some, e quando o ID tiver um valor em que o campo tiver o sinal - , subtraia.

Abaixo um exemplo.

id_documid_valorvalordec_valorsinal
41050310.72ESTORNO COMISSOES S/VENDAS    -
7741449.46JUROS PAGOS                  +
1290171504.73IRRF - PF - PRO-LABORE        -
208612.00JUROS PAGOS                  +
21825127.54NOTA DE DEBITO                -
2205236.94DESCONTOS FORNECEDORES        -
35732020482.62ENCONTRO DE CONTAS(FORNXCLIEN)-
5236206961.39ENCONTRO DE CONTAS(FORNXCLIEN)-
5324208358.00ENCONTRO DE CONTAS(FORNXCLIEN)-
5329208079.75ENCONTRO DE CONTAS(FORNXCLIEN)-
5971325000.00BAIXA ADIANTAMENTO FORNECEDOR-
602812.50JUROS PAGOS                  +

Tentei usar a expressão abaixo, porém sem efeito.

'

=SUM(IF(baixada = 'S'  , Money(NUM(valor_docum),'R$ #.##0,00'))  ) - ((SUM(IF(sinal = '-', Money(NUM(valor),'R$ #.##0,00')))) OR

   + (SUM(IF(sinal = '+', Money(NUM(valor),'R$ #.##0,00')))))

'

Espero que alguém possa me ajudar.

Desde já, agradeço.


Claudemir

1 Solution

Accepted Solutions
awhitfield
Partner - Champion
Partner - Champion

Oi lá, consulte o qvw anexado Saudações Andy

View solution in original post

5 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Olá Claudemir,

Recomendo você alterar (DE PARA) o sinal por um valor de multiplicação via script e depois já deixar o campo valor positivo ou negativo efetuando a multiplicação.

Veja Exemplo.

Map_Multiplicador:

Mapping

LOAD * INLINE [

    DE, PARA

    +, 1

    -, -1

];

LOAD

    id_docum,

    id_valor,

    ApplyMap('Map_Multiplicador',sinal) * valor As valor,

    dec_valor

From Tabela;

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.
awhitfield
Partner - Champion
Partner - Champion

Oi lá, consulte o qvw anexado Saudações Andy
claudemir_dioto
Contributor III
Contributor III
Author

Hello Andy.

Thanks for your help. It worked that way.

Sincerely.

And may the force be with us!

Claudemir

claudemir_dioto
Contributor III
Contributor III
Author

Olá Tonial.

Obrigado pela ajuda.

Um forte abraço.

Att.

Claudemir

awhitfield
Partner - Champion
Partner - Champion

Excelente , por favor marcar a resposta como correta se ele responde a sua pergunta . Tenha um bom dia!