ComeçarComece de graça

Comparação mês a mês

Para comparar meses, você precisa usar uma das seguintes funções de janela:

  • LAG(value, offset), que retorna um valor de um número de offset anterior à linha atual no relatório.
  • LEAD(value, offset), que retorna um valor de um número de offset posterior à linha atual no relatório.

Seu objetivo é montar um relatório que mostre as visualizações mês a mês de cada país. Algumas dicas:

  • Você precisará agrupar as datas por mês. Para isso, você pode usar a função DATE_PART().
  • Você pode calcular a variação percentual usando a fórmula: (value)/(previous_value) - 1.
  • Se nenhum valor de offset for incluído nas funções LAG() ou LEAD(), o padrão será 1.

Como a tabela termina no meio de junho, a consulta está configurada para incluir dados apenas até o fim de maio.

Este exercício faz parte do curso

Relatórios em SQL

Ver curso

Instruções do exercício

  • A partir de web_data, traga country_id e use a função DATE_PART() para criar month.
  • Crie month_views que traga o total de visualizações dentro do mês.
  • Crie previous_month_views que traga o total de visualizações do mês passado para o país em questão.
  • Crie o campo perc_change que calcula a variação percentual deste mês em relação ao mês passado para o país em questão, em que um valor negativo representa perda de visualizações e um valor positivo representa crescimento.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

SELECT
	-- Pull month and country_id
	____ AS month,
	____,
    -- Pull in current month views
    ____ AS month_views,
    -- Pull in last month views
    ____ AS previous_month_views,
    -- Calculate the percent change
    ____ AS perc_change
FROM ____
WHERE date <= '2018-05-31'
GROUP BY ____;
Editar e executar o código