CodeGym /Cursos /SQL SELF /Introdução às funções analíticas

Introdução às funções analíticas

SQL SELF
Nível 59 , Lição 0
Disponível

Bora começar com um exemplo simples do dia a dia. Imagina que você é dono de uma cafeteria. Todo dia chegam clientes, fazem pedidos, e você registra esses dados. Depois de um tempo, você quer saber: quais bebidas são as mais populares? Qual foi o ticket médio nos últimos três meses? Quais dias da semana trazem mais grana?

Essas perguntas são exemplos de tarefas de análise. A própria análise aqui ajuda a transformar um "monte de dados" em informação útil. E trabalhar com análise dentro do banco de dados não é mágica, é só um conjunto de ferramentas que te permite responder esse tipo de pergunta.

A análise geralmente resolve tarefas como:

  • Análise de métricas chave (tipo receita, ticket médio, quantidade de pedidos).
  • Montagem de relatórios: tabelas, gráficos, diagramas.
  • Monitoramento de tendências: como os indicadores mudam com o tempo.
  • Comparação de dados (por exemplo, de uma região com outra).

Isso é importante pra tomar decisões de negócio mais certeiras, otimizar processos ou até prever resultados futuros.

Papel do PL/pgSQL na análise

Agora que a gente já entendeu pra que serve análise, surge a pergunta: por que usar PL/pgSQL pra isso? Não dava pra exportar os dados pro Excel e calcular lá? Né?

PL/pgSQL permite:

  • Automatizar cálculos. Pra que repetir tudo na mão se dá pra automatizar?
  • Processar grandes volumes de dados do lado do servidor. Gerar relatórios direto no servidor elimina a necessidade de transferir um monte de dados pro app do cliente.
  • Criar queries poderosas com carga mínima. Trabalhar rápido e de boa com tabelas grandes.

Exemplo: dá pra gerar automaticamente todo dia um relatório de vendas e salvar numa tabela, sem precisar fazer isso na mão.

Vantagens de usar procedures pra automatizar análise

Processo manual de análise:

  1. Pegar os dados do banco.
  2. Trabalhar eles numa planilha qualquer.
  3. Salvar os resultados. Automatização via PL/pgSQL:
  4. Escrever a procedure uma vez só.
  5. Rodar no agendador.
  6. Só curtir os resultados.

Bem mais prático, né não? :)

Exemplos de tarefas resolvidas com funções analíticas

Aqui vão alguns exemplos de tarefas que dá pra resolver usando funções analíticas. Esses exemplos vão te mostrar que funções analíticas não são nada abstratas, mas sim ferramentas super úteis.

Cálculo de métricas chave

Métricas chave são indicadores do negócio que ajudam a avaliar como ele tá indo. Por exemplo:

  • Ticket médio: quanto em média o cliente gasta numa compra.
  • Total de pedidos em um certo período.
  • Receita de vendas por categoria de produto.

Exemplo de query SQL pra calcular o ticket médio:

SELECT 
    SUM(order_amount) / COUNT(*) AS average_order
FROM 
    orders
WHERE 
    order_date > CURRENT_DATE - INTERVAL '3 months';

Montando séries temporais e tendências

Vamos supor que você quer saber como as vendas mudam dia a dia. Pra isso, dá pra agregar os dados por data e montar séries temporais.

SELECT
    order_date, 
    SUM(order_amount) AS daily_sales
FROM 
    orders
GROUP BY 
    order_date
ORDER BY 
    order_date;

Comparando dados por períodos

Agora imagina que você quer comparar a receita de outubro e setembro:

SELECT 
    EXTRACT(MONTH FROM order_date) AS month, 
    SUM(order_amount) AS total_sales
FROM 
    orders
WHERE 
    order_date BETWEEN '2023-09-01' AND '2023-10-31'
GROUP BY 
    EXTRACT(MONTH FROM order_date);

Esse tipo de abordagem permite tirar conclusões: o que mudou de um mês pro outro? Por que setembro foi melhor? Ou será que foi o contrário?

Como isso funciona na vida real?

Na prática, análise é usada nos seguintes cenários:

  1. No marketing: pra entender quais canais trazem mais clientes.
  2. Nas finanças: pra calcular receitas, prejuízos e fazer previsões.
  3. No desenvolvimento de software: pra analisar performance de apps.
  4. No mundo dos games: pra analisar o comportamento dos usuários e criar ofertas personalizadas.

Agora que você já sabe pra que servem as funções analíticas, nas próximas aulas a gente vai mergulhar nos detalhes técnicos, tipo como usar funções window e agregações pra montar relatórios. Por enquanto, tenta imaginar que métricas você gostaria de analisar e como isso poderia ajudar no seu projeto!

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION