Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
ruzivao1980
Contributor

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...

Tags (1)
8 Replies
MVP
MVP

Re: Valor Errado

‌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.....

ruzivao1980
Contributor

Re: Valor Errado

Como eu faria....

Re: Valor Errado

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.

tiago_ferrucio
New Contributor III

Re: Valor Errado

  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

Re: Valor Errado

Esta conseguindo resolver Roosevelt?

ruzivao1980
Contributor

Re: Valor Errado

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

Employee
Employee

Re: Valor Errado

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
Valued Contributor

Re: Valor Errado

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.