Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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_docum | id_valor | valor | dec_valor | sinal |
410 | 50 | 310.72 | ESTORNO COMISSOES S/VENDAS | - |
774 | 1 | 449.46 | JUROS PAGOS | + |
1290 | 17 | 1504.73 | IRRF - PF - PRO-LABORE | - |
2086 | 1 | 2.00 | JUROS PAGOS | + |
2182 | 5 | 127.54 | NOTA DE DEBITO | - |
2205 | 2 | 36.94 | DESCONTOS FORNECEDORES | - |
3573 | 20 | 20482.62 | ENCONTRO DE CONTAS(FORNXCLIEN) | - |
5236 | 20 | 6961.39 | ENCONTRO DE CONTAS(FORNXCLIEN) | - |
5324 | 20 | 8358.00 | ENCONTRO DE CONTAS(FORNXCLIEN) | - |
5329 | 20 | 8079.75 | ENCONTRO DE CONTAS(FORNXCLIEN) | - |
5971 | 3 | 25000.00 | BAIXA ADIANTAMENTO FORNECEDOR | - |
6028 | 1 | 2.50 | JUROS 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
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.
Oi lá, consulte o qvw anexado Saudações Andy
Hello Andy.
Thanks for your help. It worked that way.
Sincerely.
And may the force be with us!
Claudemir
Olá Tonial.
Obrigado pela ajuda.
Um forte abraço.
Att.
Claudemir
Excelente , por favor marcar a resposta como correta se ele responde a sua pergunta . Tenha um bom dia!