1
resposta

[Dúvida] Preciso achar a participação percentual de Valor de Venda total

Criar codigo SQL que mostre a participação percentual de VALOR VENDA TOTAL por nome de produto por ano. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Erica, tudo bem?

Desde já peço desculpas pela demora em obter um retorno.

Para calcular a participação percentual do VALOR VENDA TOTAL por nome de produto por ano, você pode usar uma consulta SQL que envolva uma operação de agregação e uma junção de tabelas. Utilizarei os mesmos nomes de coluna que você nomeou.


SELECT
    EXTRACT(YEAR FROM F.Dia) AS Ano,
    P.Nome AS NomeProduto,
    SUM(F.Valor_venda_total) AS TotalVendaProduto,
    SUM(F.Valor_venda_total) / SUM(SUM(F.Valor_venda_total)) OVER(PARTITION BY EXTRACT(YEAR FROM F.Dia)) * 100 AS ParticipacaoPercentual
FROM
    Fato F
INNER JOIN
    Produtos P ON F.Produto_Codigo = P.Codigo
GROUP BY
    EXTRACT(YEAR FROM F.Dia),
    P.Nome
ORDER BY
    EXTRACT(YEAR FROM F.Dia),
    P.Nome;

No código acima usamos Utilizamos a função EXTRACT(YEAR FROM F.Dia) para extrair o ano da data na coluna "Dia" da tabela "Fato". Após isso, realizamos uma junção (JOIN) entre a tabela "Fato" e a tabela "Produtos" usando a chave estrangeira "Produto_Codigo".

Para fazer a agregação, aplicamos a função de agregação SUM(F.Valor_venda_total) para calcular o total de vendas de cada produto em cada ano.

Em seguida, usamos a função de janela SUM(SUM(F.Valor_venda_total)) OVER(PARTITION BY EXTRACT(YEAR FROM F.Dia)) para calcular o total de vendas para cada ano individualmente. Isso nos permite calcular a participação percentual.

Por fim, calculamos a participação percentual dividindo o total de vendas de cada produto pelo total de vendas do ano correspondente e multiplicamos por 100.

Espero ter ajudado .

Caso surja alguma dúvida, fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!