Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fiito

Dificuldade com consulta para curva ABC

Recommended Posts

Boa tarde a todos. Não tenho muita experiencia com mysql e estou tentando criar uma consulta para um relatório de curva ABC de produtos.

Esse é o select que tenho no momento:

"select
   produto.id,
   produto.descricao,
   sum(venda_item.quantidade) as qtde_venda,
   round(sum(venda_item.vl_unitario_liquido)/sum(venda_item.quantidade),2) as vr_unitario,
   round(sum(venda_item.vl_liquido),2) as vl_total_venda,
   round((sum(venda_item.vl_liquido)/(select sum(vl_liquido)from venda_item,venda where venda.id = venda_item.id_venda and venda.status = "FECHADO")),4)*100 as participacao,
 from
   produto
inner join venda_item on produto.id = venda_item.id_produto
inner join venda on venda_item.id_venda = venda.id
where venda.status = 'FECHADO'
group by id_produto
order by vl_total_venda desc"

 

O qual me retornar o seguinte resultado:

id descricao qtde_venda vr_unitario vl_total_venda participacao
1 PRODUTO TESTE 19 100 1900 62,71
4 PRODUTO TESTE 4 3 66,67 600 19,8
2 PRODUTO TESTE 2 6 6,67 240 7,92
3 PRODUTO TESTE 3 5 6 150 4,95
5 PRODUTO TESTE 5 1 140 140 4,62

 

O que preciso agora é calcular a participação acumulada, onde consiste em somar a participação de um item com a participação do item anterior até chegar ao valor de 100%, onde o resultador seria:
 

id descricao qtde_venda vr_unitario vl_total_venda participacao % Acumulado
1 PRODUTO TESTE 19 100 1900 62,71 62,71
4 PRODUTO TESTE 4 3 66,67 600 19,8 82,51
2 PRODUTO TESTE 2 6 6,67 240 7,92 90,43
3 PRODUTO TESTE 3 5 6 150 4,95 95,38
5 PRODUTO TESTE 5 1 140 140 4,62 100

 

E por fim, informar se o produto faz parte da curva A, B ou C, tendo a referência 70/20/10. Até 70% dos custos do Total Acumulado serão da Classe A; de 70% até 90% serão da Classe B e acima de 90% serão da Classe C, obtendo esse resultado:
 

id descricao qtde_venda vr_unitario vl_total_venda participacao % Acumulado ABC
1 PRODUTO TESTE 19 100 1900 62,71 62,71    A
4 PRODUTO TESTE 4 3 66,67 600 19,8 82,5    B
2 PRODUTO TESTE 2 6 6,67 240 7,92 90,43    C
3 PRODUTO TESTE 3 5 6 150 4,95 95,38    C
5 PRODUTO TESTE 5 1 140 140 4,62 100    C

 

Desde já agradeço a qualquer ajuda!! Abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.