[firebase-br] curva abc

Alex Miranda de Oliveira alex em araguaiasistemas.com.br
Sáb Out 1 14:24:24 -03 2011


Boa tarde Reijanio

Quais são os campos que vc esta querendo agrupar
e quais são os campos que vc precisa que apareça na pesquisa...


Porque se não precisar da Data da venda..

Pode tentar assim

Neste caso o agrupamento ficaria somente por Codigo de Produto e Descrição
do Produto..

SELECT
D.CODPRO,
P.DESCRICAO,
SUM(D.QTDE * D.VLRUNITARIO- d.desconto) AS SUBTOTAL,
SUM(D.QTDE * D.VLRUNITARIO - D.DESCONTO)/SUM(D.VLRTOTAL)*100 AS CURVA_ABC
FROM D_VENDA D
INNER JOIN C_VENDA V ON D.CODVENDA = V.CODIGO
INNER JOIN PRODUTO P ON D.codpro = P.codigo
WHERE V.DATAVENDA BETWEEN :DT1 AND :DT2
GROUP BY D.CODPRO, P.descricao
ORDER BY SUM(D.QTDE * D.VLRUNITARIO)/SUM(D.vlrtotal)*100 DESC



Qualquer coisa posta o erro ai.



SELECT
D.CODPRO,
P.DESCRICAO, SUM(D.QTDE * D.VLRUNITARIO- d.desconto) AS
SUBTOTAL,
SUM(D.QTDE * D.VLRUNITARIO - D.DESCONTO)/SUM(D.VLRTOTAL)*100 AS
CURVA_ABC,V.DATAVENDA
FROM D_VENDA D
INNER JOIN C_VENDA V ON D.CODVENDA = V.CODIGO
INNER JOIN PRODUTO P ON D.codpro = P.codigo
WHERE V.DATAVENDA BETWEEN :DT1 AND :DT2
GROUP BY V.DATAVENDA, D.CODPRO, P.descricao, V.TOTAL
ORDER BY SUM(D.QTDE * D.VLRUNITARIO)/SUM(D.vlrtotal)*100 DESC




Em 1 de outubro de 2011 10:38, Reijanio Nunes Ribeiro
<rnribeiro em gmail.com>escreveu:

> bom dia a todos estou com um pequeno problema na geração de uma curva ABC
> que é o seguinte
>
> TENTATIVA 1
> SELECT D.CODPRO,P.DESCRICAO, SUM(D.QTDE * D.VLRUNITARIO- d.desconto) AS
> SUBTOTAL,
> SUM(D.QTDE * D.VLRUNITARIO - D.DESCONTO)/278.50*100 AS
> CURVA_ABC,V.DATAVENDA
> FROM D_VENDA D
> INNER JOIN C_VENDA V
> ON D.CODVENDA = V.CODIGO
> INNER JOIN PRODUTO P
> ON D.codpro = P.codigo
> WHERE V.DATAVENDA BETWEEN :DT1 AND :DT2
> GROUP BY V.DATAVENDA, D.CODPRO, P.descricao, V.TOTAL
> ORDER BY SUM(D.QTDE * D.VLRUNITARIO)/278.50*100 DESC//se coloco o valor
> total das vendas dessa forma funciona porem se tento somar o valor de todos
> os orcamentos como abaixo da erro poderia me ajudar
>
> TENTATIVA 2
> SELECT D.CODPRO,P.DESCRICAO, SUM(D.QTDE * D.VLRUNITARIO- d.desconto) AS
> SUBTOTAL,
> SUM(D.QTDE * D.VLRUNITARIO - D.DESCONTO)/SUM(D.VLRTOTAL)*100 AS
> CURVA_ABC,V.DATAVENDA
> FROM D_VENDA D
> INNER JOIN C_VENDA V
> ON D.CODVENDA = V.CODIGO
> INNER JOIN PRODUTO P
> ON D.codpro = P.codigo
> WHERE V.DATAVENDA BETWEEN :DT1 AND :DT2
> GROUP BY V.DATAVENDA, D.CODPRO, P.descricao, V.TOTAL
> ORDER BY SUM(D.QTDE * D.VLRUNITARIO)/SUM(D.vlrtotal)*100 DESC
>
> NESSA SEGUNDA TENTATIVA A SOMA SUM(D.VLRTOTAL) DA APENAS O VALAR INDIVIDUAL
> DE CADA VENDA E NÃO GERAL
>
> desde ja grato pela ajuda
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Alex Miranda de Oliveira
Coordenador de Desenvolvimento
alex em araguaiasistemas.com.br



Mais detalhes sobre a lista de discussão lista