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()ouLEAD(), 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
Instruções do exercício
- A partir de
web_data, tragacountry_ide use a funçãoDATE_PART()para criarmonth. - Crie
month_viewsque traga o total de visualizações dentro do mês. - Crie
previous_month_viewsque traga o total de visualizações do mês passado para o país em questão. - Crie o campo
perc_changeque 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 ____;