none
Qual o caminho para mim Criar uma tabela para CURVA ABC ??

Answers

All replies

  • Thiago,

    Você deseja criar uma curva ABC através do Reporting Services?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    Wednesday, August 05, 2009 11:55 PM
  • Olá Thiago,

    Eis uma ótima pergunta para não falar um senhor desafio...
    Vou planejar algo do tipo (ótimo assunto para um artigo).

    Qual SQL Server você está usando ?

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Piores Práticas – Utilizar o comando BACKUP LOG com a opção WITH TRUNCATE_ONLY
    Parte 01 - http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!670.entry
    Parte 02 - http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!671.entry


    Classifique as respostas. O seu feedback é imprescindível
    Thursday, August 06, 2009 12:10 AM
  • Thiago,

    A sua curva ABC seria baseada em uma lista de produtos?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    Thursday, August 06, 2009 12:16 AM
  • Bom Dia Senhores,

    Perfeito...

    Estou contente em saber que existe interesse pelo assunto, estou sentindo muita dificuldade de encontrar algo relacionado na WEB...

    Bom eu trabalho com Banco de Dados SQL Server 2005, utilizo uma ferramanta chamanda Fast Report para criar Relatórios.
    Os Dados que trabalho é do Banco de Dados do programa 'SAP Business One'.

    Tenho que desenvolver alguns relatórios de [ Curva ABC + Pareto ] para Clientes, Vendedores e Materiais.

    Acabei de Desenvolver um relatório chamado "Historico de Clientes".

    Esse relatorio me traz todos os clientes e soma tudo que eles compraram desde Janeiro e me ordena por Valor do maior pro menor então eu sei qual cliente que mais compra em valores. Acredito que apartir desse relatório tenho um ponto de partida para Gerar o "Curva Abc" .

    Obrigado.
    Thursday, August 06, 2009 11:40 AM
  • Thiago,

    Mas o SAP Businnes One não apresenta nenhum relatório com Curva ABC?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    Saturday, August 08, 2009 12:36 AM
  • Junior,

    Não da forma que queremos. Os Diretores da empresa são muito exigentes quando o assunto é Gerenciamento, são ótimos em regras de negocios então eles me passam as regras e pedem Relatórios Analíticos.

    Ai quando o assunto é desenvolvimento a coisa muda.
    Saturday, August 08, 2009 12:10 PM
  • Thiago,

    Mas não saberia dizer neste momento como podemos desenvolver este tipo de solução no SQL Server.

    Vou pensar um pouco mais.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    Sunday, August 09, 2009 2:35 AM
  • Bom Dia Pessoal, 

    Encontrei na WEB umsa Stored Procedure para geração da Curva ABC só que ficou muito vago para mim. Está logo abaixo.
    COMMIT WORK;
    SET AUTODDL OFF;
    SET TERM ^ ;
    
    /* Stored procedures */
    
    CREATE PROCEDURE "GERAR_CURVA"
    (
    "DATA_I" DATE,
    "DATA_F" DATE
    )
    AS
    BEGIN EXIT; END ^
    
    
    ALTER PROCEDURE "GERAR_CURVA"
    (
    "DATA_I" DATE,
    "DATA_F" DATE
    )
    AS
    DECLARE VARIABLE T_GERAL NUMERIC(12,2);
    DECLARE VARIABLE TOTAL_AUX NUMERIC(12,2);
    DECLARE VARIABLE ICODIGO INTEGER;
    DECLARE VARIABLE CLETRA CHAR(1);
    DECLARE VARIABLE NVALOR NUMERIC(12,2);
    DECLARE VARIABLE NVALOR_INI NUMERIC(12,2);
    BEGIN
    
    
    select Letra from PARAMETRO_CURVA
    where PERCENTUAL_PRODUTO = ( select min(PERCENTUAL_PRODUTO) from PARAMETRO_CURVA)
    into :cLetra;
    
    Update Produto set Letra = :cLetra;
    
    
    SELECT SUM(TOTAL) TOTAL FROM V_Produto_Saida
    WHERE DATA_EMISSAO BETWEEN :DATA_I AND :DATA_F
    INTO :T_GERAL;
    
    UPDATE PARAMETRO_CURVA SET VALOR_INI = 0,
    VALOR = :T_GERAL * PERCENTUAL_PRODUTO / 100;
    
    for Select CodigoProduto, Sum(Total) from V_Produto_Saida
    where Data_emissao between :DATA_I and :DATA_F
    group by CodigoProduto
    order by 2 desc
    into :iCodigo, :Total_aux
    Do
    Begin
    SELECT FIRST 1 letra, valor, valor_ini FROM parametro_curva where valor > valor_ini
    into :cLetra, :nValor, :nValor_ini;
    
    if (:nValor > :nValor_ini ) Then
    begin
    Update parametro_curva set valor_ini = valor_ini + :Total_aux
    where Letra = :cLetra;
    Update produto set Letra = :cLetra where CodigoProduto = :iCodigo;
    end
    end
    
    END
    ^
    
    SET TERM ; ^
    COMMIT WORK;
    SET AUTODDL ON;
     Segundo pesquisas que fiz, tenho que fazer tabelas virtuais também não sei como é. 
    O que puderem ajudar desde já agradeço.


    Thursday, August 13, 2009 11:41 AM
  • Bom Dia,

    Acredito que se você busca um entendimento e uma solução no SQL Server 2005, o link abaixo vai te interessar:

    O princípio de Pareto, a curva ABC e consultas SQL
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!740.entry

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    O princípio de Pareto, a curva ABC e consultas SQL
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!740.entry
    Classifique as respostas. O seu feedback é imprescindível
    Friday, October 02, 2009 8:34 AM
  • Olá Gustavo...

    Muitissimooo Obrigado, o artigo ficou ótimo...
    Parabéns mesmo...
    Thursday, November 05, 2009 1:17 PM
  • Maia,

    Fantástico, show de bola, parabéns!!!!
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    Friday, November 06, 2009 12:16 AM