Blog

Postado em em 27 de dezembro de 2022

Acumulado no SQL Server

Você já sabe como fazer o cálculo do acumulado ao longo do tempo? Hoje vamos aprender como calcular acumulado no SQL Server!

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 calcular acumulado no SQL Server!

Você sabe que são funções de janela?

Você já deve saber que esse tipo de cálculo acumulado no tempo é muito importante para diversas análises.

Para fazer isso nós vamos utilizar as Window Functions SQL Server (funções de Janela no SQL Server).

Essas funções vão permitir o cálculo de acumulado no tempo, média móvel, deslocamento, ranking, etc.

No SQL Server podemos fazer diversos cálculos avançados:

  • Acumulado no tempo
  • Média móvel
  • Deslocamento
  • Ranking
  • MoM (Month over Month) e YoY (Year over Year)

Nesta aula vamos focar no acumulado ao longo do tempo:

Primeiro vamos começar com o SELECT para selecionar que colunas queremos visualizar, neste caso as colunas 1, 2, e 3.

Feito isso, para fazer o cálculo do acumulado vamos precisar entender alguns detalhes.

Por se tratar de uma soma precisamos especificar isso no código usando o SUM(soma).

Queremos fazer uma soma do faturamento SUM(coluna1) → ao longo da coluna de data BY coluna2 → das linhas entre → uma linha inicial e uma linha final ROWS BETWEEN linha1 AND linha2

No final vamos ordenar para que ele mostre o resultado segundo a coluna de data.

Acumulado no SQL Server
Modelo

Significado das colunas:

Significado das colunas.
Significado das colunas.

Nosso código vai criar um banco de dados que, vai criar uma tabela e por fim um INSERT dos valores.

Nossa tabela tem o resultado do faturamento de uma empresa de janeiro/2020 com 8 milhões até dezembro/2020 com 10 milhões como mostra a imagem abaixo:

Acumulado no SQL Server
Faturamento 2020

No final vamos usar o SELECT * FROM.

Faturamento 2020
Faturamento 2020

Nosso objetivo é somar os valores de cada mês fazendo o acumulado sempre partindo do mês de janeiro até o mês atual em que a soma está sendo feita.

Primeiro passo – Criar o banco de dados.

Selecione e execute o código CREATE DATABASE Teste.

Após criar o banco vamos visualizar na pasta e atualizar o programa para criar a base.

O próximo passo é criar uma tabela, antes de criar vamos precisar escolher o banco de dados que vamos utilizar → vamos selecionar o banco de TESTE.

Agora vamos criar a tabela que terá duas colunas Data_Fechamento DATETIME e

Faturamento_MM FLOAT.

Novamente vamos selecionar e executar o código.

Já temos nossa tabela criada, no resultado temos duas colunas, Data_Fechamento e Faturamento_MM:

Data - Faturamento
Data – Faturamento

Agora precisamos criar a terceira coluna com o nosso valor acumulado:

Para isso vamos usar a sintaxe ensinada no início desta aula onde selecionamos as duas colunas e montamos o cálculo e a ordem em que esse cálculo deve acontecer:

Acumulado no SQL Server
Aplicando o modelo

Breve resumo:

  • SELECT = declaração que retorna um conjunto de resultados
  • SUM = soma
  • OVER = ordenação
  • ORDER BY = define a ordem dos resultados de acordo com uma ou mais colunas
  • ROWS BETWEEN = determina um ponto inicial e um ponto final
  • UNBOUNDED PRECEDING = palavra-chave para começar desde a 1ª linha.
  • CURRENT ROW = linha atual

Resultado:

Resultado
Resultado

Com isso nós conseguimos fazer o acumulado do ano por mês no SQL!

Viu como é simples? Em poucas linhas resolvemos essa questão.

Uma pergunta muito comum dos alunos é se SQL é fácil de aprender. Você tem essa dúvida? Clique no link!

Conclusão – Acumulado no SQL Server?

O objetivo desta aula foi ensinar como calcular o acumulado ao longo do tempo utilizando as funções de janela.

Mostramos que dá para fazer este cálculo de um jeito prático, usamos o SQL Server e além do acumulado, nele podemos fazer diversos cálculos avançados:

Acumulado no tempo, média móvel, deslocamento, etc.

Espero que tenham gostado do tema! Abraço.

Hashtag Treinamentos

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


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