Criar codigo SQL que mostre a participação percentual de VALOR VENDA TOTAL por nome de produto por ano.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Criar codigo SQL que mostre a participação percentual de VALOR VENDA TOTAL por nome de produto por ano.
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!