Blog

Postado em em 4 de janeiro de 2023

Análises Comparativas no SQL – Como Fazer?

Você sabe como fazer análises comparativas no SQL? Elas são essenciais e você precisa saber! Para isso vou te mostrar as funções de janela!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar como fazer análises comparativas no SQL!

Como você deve saber, as análises comparativas são úteis em diversos casos, principalmente quando precisamos comparar um mês com o outro, ou até mesmo, um mês com o mesmo mês do ano anterior.

Essas são análises muito comuns, para essas análises vamos utilizar as funções de janela (ou Window Functions).

Vamos mostrar também o uso da função LAG que permite fazer um deslocamento dentro da nossa tabela para podermos fazer essas comparações!

Gostou do tema? Vamos para o passo a passo.

Análise comparativa MÊS a MÊS (MoM).

Cálculos - funções de janela.
Cálculos – funções de janela.

Como podemos ver na imagem acima, as funções de janela nos permitem fazer diversos cálculos!

O que precisamos para fazer um cálculo comparativo?

Para fazer uma comparação precisamos fazer com que o resultado do mês atual e do mês anterior estejam na mesma linha.

Exemplo:

Se em uma tabela estamos no mês de fevereiro e queremos comparar os resultados desse mês com o mês anterior, então precisamos acessar as informações de janeiro para poder compará-las com fevereiro, vamos fazer estes resultados aparecerem na mesma linha em formato de tabela.

Como vai ficar a sintaxe dessa estrutura?

Análises Comparativas no SQL
Sintaxe

A função LAG é usada para trazer este atraso na coluna, que pode ser de 1 mês, de 2 meses, dependendo do que queremos comparar.

Esta função → LAG, pede 3 argumentos:

  • Coluna = qual a coluna em que vamos acessar os valores anteriores.
  • Deslocamento = quanto queremos deslocar para trás? Uma linha? Duas linhas…
  • Padrão = Seria um valor aproximado para o caso de a função não encontrar informações no mês anterior, neste caso ao invés de retornar um erro fornecemos um padrão para a função considerar.

Se você não conhece a função do Over ou Order BY, essas explicações estão na última aula de Acumulado, clique no link!

Vou deixar algumas legendas para facilitar a compreensão de cada linha da sintaxe:

Legenda.
Legenda.

O primeiro passo é criar o banco de dados de teste → selecione CREATE DATABASE Teste; como na imagem abaixo → Clique em executar.

Análises Comparativas no SQL
CREATE DATABASE

Feito isso, o banco de dados está criado!

Comandos concluídos.
Comandos concluídos.

Vamos criar uma tabela chamada Resultado, esta tabela vai ter as duas informações que comentamos anteriormente:

Data_Fechamento e Faturamento_MM

Agora que já criamos nosso banco de dados teste, note que ele ainda não aparece na coluna com os bancos de dados, a esquerda (imagem abaixo).

Para que ele apareça, clique em Banco de dados → em seguida Atualizar.

Análises Comparativas no SQL
Banco de dados

Para garantir que estamos no banco de dados certo, selecione o nome do banco de dados (Teste):

Banco de dados - teste
Banco de dados – teste

Selecionar e executar:

Feito isso, vamos selecionar o nosso código e clicar em executar para criar a nossa tabela:

Análises Comparativas no SQL
executar

Em seguida selecione a tabela e execute:

tabela
tabela

Por fim, vamos selecionar o nosso SELECT * FROM Resultado; e executá-lo também…

SELECT - Resultado
SELECT – Resultado

Pronto! Já conseguimos visualizar a nossa tabela.

Precisamos apenas criar as colunas que vamos usar para responder nossas dúvidas…

Qual a variação mês a mês dos valores? Houve acréscimo? Decréscimo?

Obs. Para esta análise vamos considerar como padrão o faturamento de dez/2019 sendo 5 milhões.

Análises Comparativas no SQL
Tabela

Lembrando que o nosso objetivo é criar uma coluna com o mês anterior para comparação.

Para isso vamos montar a fórmula conforme a sintaxe passada no início da aula → após criar a fórmula → selecionar e executar.

fórmula
fórmula

Observe que acrescentamos o comando AS, este comando nos permite nomear a nova coluna.

Mês anterior
Mês anterior

Resultado:

Note que a nova coluna está trazendo sempre o valor do mês anterior e está considerando para o mês 12/2019 o padrão de 5 milhões.

Agora que temos em cada linha o valor do mês atual e o valor do mês anterior já é possível fazer a comparação com um cálculo simples.

Para obter o resultado da variação em porcentagem (%) temos que fazer o seguinte cálculo:

(Valor do mês atual / Valor do mês anterior) -1

No nosso código este cálculo vai ficar da seguinte forma:

  • Faturamento_MM como o mês atual
  • Toda a função LAG como mês anterior
  • -1

Observe na imagem abaixo:

Análises Comparativas no SQL
LAG

Obs. O nome desta nova coluna ‘VAR. % MoM’ é um nome composto e por este motivo deve estar entre aspas!

Percentual calculado
Percentual calculado

Nossa nova coluna mostra o resultado em percentual do comparativo a cada mês!

Comparando o mês 3 com 6 milhões e o mês 2 com um faturamento de 10 milhões, notamos na coluna VAR. % MoM uma queda de menos -0,4%.

Ajustes simples:

Podemos ajustar os valores da coluna VAR. % MoM diminuindo as casas decimais para deixar mais visual, para isso vamos usar a função ROUND com 2 casas decimais.

ROUND
ROUND

Após acrescentar este ajuste → selecione toda a fórmula e execute.

ROUND - Ajuste
ROUND – Ajuste

Conclusão – Análises Comparativas no SQL

Nessa aula eu te mostrei como utilizar as funções de janela para que você consiga fazer análises comparativas no SQL!

Essas análises são muito importantes, pois quando estamos tratando com dados, geralmente vamos precisar fazer análises comparativas para saber o desempenho, aumento, queda…

E essas informações são cruciais para tomadas de decisões importantes para melhorar produção, diminuir o gasto, entre outras decisões que podem ser tomadas!

Eu fico por aqui! Espero que gostem da aula! Abraço.

Leia também sobre: Join SQL: o que é, tipos e como usar (guia para iniciantes).

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?