none
Obter a porcentagem entre 2 em uma consulta SQL Dinamica RRS feed

  • Pergunta

  • Boa tarde estou tentando conseguir a % entre meses em comparação com o ano posterior, assim em mês 1/2016 valor foi 2115.00 mês 01/2017 valor foi 3511.00 pegar a porcentagem entre esses 2 e fazer a margem/porcentagem a saida seria + - assim

    ano | valor | %

    1/2016 | 2115.00 | 24

    1/2017 | 3511.00 | 24
    24 -- essa seria o valor +- calculado de porcentagem entre mês 1 de 2016 e 1/2017

    nesse link fiz um exemplo para tentar expressar melhor: SQL Fiddle

    Usando SQL SERVER 2014

    Se alguém puder ajudar é para relatório da empresa as campos serão preenchidos por variáveis de mês inicial , mês final e também por ano ano inicial e ano final sempre comparando com o ano anterior 2015 compara com 2016, 2016 compara com 2017, 2018 compara com 2017.

    esse a consulta que estou usando atualmente: sem sucesso nem sei o que preciso fazer para conseguir o que quero.

    DECLARE @ANO_INI VARCHAR(4)
    		,@ANO_FIM VARCHAR(4)
    		,@MES_INI VARCHAR(2)
    		,@MES_FIM VARCHAR(2)
    
    SET @ANO_INI = '2015'
    SET @ANO_FIM = '2018'
    SET @MES_INI = 1 -- MES INICIAL
    SET @MES_FIM = 12 -- MES FIM
    SELECT 
    (SUBSTRING(CONVERT(VARCHAR(10), DATA_EMISSAO,103), 4,10)) AS  'DATA'
    
    , SUM(VALOR)
    ,  MARGEM = (SELECT 
    				AVG(VALOR)
    				
    				FROM NOTAS
    				
    				) 		
    FROM
    NOTAS
    WHERE
    MONTH(DATA_EMISSAO) BETWEEN @MES_INI AND @MES_FIM
    AND YEAR(DATA_EMISSAO) BETWEEN @ANO_INI AND @ANO_FIM
    GROUP BY (SUBSTRING(CONVERT(VARCHAR(10), DATA_EMISSAO,103), 4,10))
    ORDER BY (SUBSTRING(CONVERT(VARCHAR(10), DATA_EMISSAO,103), 4,10))


    quarta-feira, 29 de agosto de 2018 15:46

Respostas

  • Bom dia, Jameson Oliveira. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 30 de agosto de 2018 15:00
    Moderador

Todas as Respostas

  • Bom dia, Jameson Oliveira. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 30 de agosto de 2018 15:00
    Moderador
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 25 de setembro de 2018 19:31
    Moderador