Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
ruzivao1980
Creator
Creator

Valor Errado

Meus amigos, estou precisando de outra ajuda....

TEnho um calculo de VL - Pedido, que o é o Valor Liquido do Pedido, esse valor liquido, é...

(Valor Faturamento - Desconto Financeiro) - (Valor Frete KG) - (Valor Comissao KG)

Minha formula esta na seguinte forma....

//Valor Bruto - Desconto financeiro

=((if(isnull(DESC_CLIENTE), sum(FATURAMENTO),

                        (((sum(FATURAMENTO) / sum(QUANTIDADE)) - (((sum(FATURAMENTO) / sum(QUANTIDADE)) * DESC_COMERCIAL) /100))* (sum(QUANTIDADE)))

  ))

 

  -

//Valor Frete KG 

  (sum(Aggr(sum(QUANTIDADE) * sum(VALOR_FRETE),DIA,MES,DATA_EMISSAO,UF,CODIGO_REPRESENTANTE,REPRESENTANTE,CODIGO_CLIENTE,Grupo_Produto,CODIGO_PRODUTO

           )

      )

  )

 

  -

 

//Valor Comissão

  (sum(aggr((if(isnull(DESC_CLIENTE), sum(FATURAMENTO),

                        (((sum(FATURAMENTO) / sum(QUANTIDADE)) - (((sum(FATURAMENTO) / sum(QUANTIDADE)) * DESC_COMERCIAL) /100))* (sum(QUANTIDADE)))

             )

          )

  *

  ((AGGR((COMISSAO),DIA,MES,DATA_EMISSAO,UF,CODIGO_REPRESENTANTE,REPRESENTANTE,CODIGO_CLIENTE,Grupo_Produto,CODIGO_PRODUTO)) / 100),DIA,MES,DATA_EMISSAO,UF,CODIGO_REPRESENTANTE,REPRESENTANTE,CODIGO_CLIENTE,Grupo_Produto,CODIGO_PRODUTO

           )

       )

   ))

Até ai tudo bem funciona legal...

Mas eu tenho que verificar o Desc_Financeiro... (if(isnull(DESC_CLIENTE) ele faz uma coisa caso nao tenha outra..... OTIMO!!!

Só que na somatoria, ele soma tudo que eu tenho de desconto e subtrai do valor liquido total... e nesse ponto ele tinha que fazer apenas a soma...... do que realmente tenha de desconto.

111.png

Na imagem acima tenho a QTDE x VL-ITEM PEDIDO = VL-PEdido.... esta certinho, mas na soma abaixo ele nao esta somando certo, o que contatei que o DESC PROM nao esta levando em conta o item e sim toda a soma... que nesse caso é 3%... eu tenho que apenas somar os 2.... quando nao tenho nenhum DESC PROM fica certinho.

OBrigado mais uma vez pela ajuda...

Labels (1)
8 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

‌Telles,

a sua formula esta bem complexa e fica dificil verificar aonde esta o erro.

Nao seria mais facil, no script trazer os valores para a linha do item?

assim, ao selecionar um item qualquer, voce pode saber na mesma linha do registro todos os valores e o calculo seria mais simples

sum(vlitem - vlimposto - vlcomissao - ......

pois o aggr cria tabela virtual para calcular e se tiver milhoes de registros, pode levar alguns bons segundos.....

sempre que a complexidade do calculo for para o script entendo que seja melhor.....

furtado@farolbi.com.br
ruzivao1980
Creator
Creator
Author

Como eu faria....

nicolett_yuri

Roosevel, você teria que ir calculando essas expressões em passos no seu script.

Por exemplo: pegue a sua primeira expressão:

((if(isnull(DESC_CLIENTE), sum(FATURAMENTO),

                        (((sum(FATURAMENTO) / sum(QUANTIDADE)) - (((sum(FATURAMENTO) / sum(QUANTIDADE)) * DESC_COMERCIAL) /100))* (sum(QUANTIDADE)))

  ))

E já deixe pronto alguns cálculos, por exemplo:

(((FATURAMENTO / QUANTIDADE) * DESC_COMERCIAL) /100))* (QUANTIDADE)) as COLUNA_X


Lembre-se que esses campos devem estar dentro da mesma tabela. E se não estiver? Terá que fazer a união dessas tabelas.

Anonymous
Not applicable

  Além de calcular no script, conselho você criar logo no primeiro passo o tratamento dos dados

       Ex: If(Isnull(DESC_CLIENTE),0,DESC_CLIENTE) AS DESC_CLIENTE

nicolett_yuri

Esta conseguindo resolver Roosevelt?

ruzivao1980
Creator
Creator
Author

Oi... estava de licensa... voltei hoje... vou retomar... e aviso..., obrigado!

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo conseguiu resolver?

Se sim, favor marcar alguma resposta como certa ou útil se for o caso ou apresentar a solução utilizado;

Assim manteremos o fórum organizado para a comunidade ter acesso as resoluções das questões.

A dúvida de um, pode ser de outro.

Abraço.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti