CURVA ABC COM SQL

MASTER2020 26/07/2009 23:18:28
#317934
Ala amigos estou com um problema no meu sistema, estou fz uma curva Abc com uma sql
na minha tabela tenho os seguintes campos
codprod, descricao, estoque_atual, valorvenda, estoque_minimo

na sql teria q trazer estes dados e multiplicar o estoque_atual pelo valorvenda eu fiz a assim
SELECT ValorVenda * Estoque_atua as ValorTotal from tblProduto order by (ValorVenda * EstoqueAtua) desc

mas esta travando o sistema, vc podem me dar um forca ate+

RICART 27/07/2009 01:07:02
#317939
Assim dará certo:

select codprod, ValorTotal from (select codprod, estoque_atual*valorvenda as ValorTotal from tblProduto group by codprod) order by ValorTotal desc


Agora uma dica:
Para o cálculo da Curva ABC, vc não pode considerar o estoque atual, mas a movimentação total do período (saldo anterior + compras). Imagine uma situação:

Produto Valor Saldo Anterior Compras Vendas Saldo Atual
A 50 1.500 50 5 1. 545
B 1.200 500 0 500 0

Pelo seu cálculo:
A valorizado = 77.250 B valorizado =0

Pelo cálculo correto:
A valorizado = 100.000
B valorizado = 600.000

Observe que o produto B repreenta 6 vezes a movimentação do estoque, mas não aparecerá no cálculo da curva pelo seu cálculo.
A finalidade da curva ABC é lhe mostrar quais itens são mais importantes para o seu estoque e precisam de uma maior atenção em relação ao controle.

RICART 27/07/2009 01:15:41
#317940
Corrigindo:

select codprod, ValorTotal from (select codprod, estoque_atual*valorvenda as ValorTotal from tblProduto group by codprod, estoque_atual*valorvenda ) order by ValorTotal desc


MASTER2020 30/07/2009 20:57:41
#318399
Sim ricart vc esta coberto de razao, eu fiz uma confusao danada, sendo q na verdade eu queria so listar campos calculados da tblproduto no caso seria muitiplicar estoque_atual pelo valorvenda e listar estes items comecando pelo de valor maior em estoque
ARNALDOCRUZ 30/07/2009 21:21:32
#318401
complementando o que o ricart já postou

Pra calcular a curva abc do estoque

1 - Somar as vendas total de um periodo.

2 - Somar a venda total de cada produto do estoque

3 - Dividir a qtde de produtos cadastros por 3 ou seguir a regra do calculo tipo os 20 + vendidos e curva a etc.

digamos vc tem 300 produtos

A=100 produtos
B=100 Produtos
C=100 Produtos

A= os 100 + vendidos

Coloca o restante em ordem de valor e pega a curva B e C

lógico que vai ter produto que não irá ter venda, ai vc calcula uma média pela qtde de itens vendidos(tipo dos 300 itens cadastrados só existiu vendas de 150 ) 50%

50/3= 16,66%

300*16,66%=50

Curva A = 50 mais vedidos

coloca em ordem de valor e pega a curva B e C


Obs.

embora exista um regra para se fazer este calculo, cada cliente pede que se modifique algo, por exemplo um cliente mim pediu para que os produtos que não tiverem venda colocar Criar + um a Curva D os que tiverem venda de até 60 unidades na curva B ( media de 2 por dia e o que for superior na curva A ordendao pelo todas de itens vendidos.

e um mesmo relatório somente ordenado pelo total de venda, pois um produto pode ser vendido 1000 undiades e sua venda representar 100,00 enquanto outro pode ser vendido 10 unidades e representar 10.000.

Por isso cada caso é um caso, vai depender da forma que o negocio é administrado.


MASTER2020 30/07/2009 21:27:54
#318403
NOssa Arnaldo muito bom msm , a minha consulta nao tem nada haver curva ABC, eu aprendi muito com vcs, mas como faco uma listagem com campo calculados um sql pra calcular estoque_atual * valorvenda e mostro este resultado no listview...vc podem ma dar uma dica
Tópico encerrado , respostas não são mais permitidas