ComenzarEmpieza gratis

Comparación mes a mes

Para comparar meses, necesitas usar una de las siguientes funciones de ventana:

  • LAG(value, offset), que devuelve un valor un número de offset anterior a la fila actual del informe.
  • LEAD(value, offset), que devuelve un valor un número de offset posterior a la fila actual del informe.

Tu objetivo es crear un informe que muestre las visualizaciones mes a mes de cada país. Algunos consejos:

  • Necesitarás agrupar las fechas por meses. Para ello, puedes usar la función DATE_PART().
  • Puedes calcular el porcentaje de cambio con la siguiente fórmula: (value)/(previous_value) - 1.
  • Si no se incluye un valor de offset en las funciones LAG() o LEAD(), el valor predeterminado será 1.

Como la tabla termina a mitad de junio, la consulta está configurada para incluir datos solo hasta finales de mayo.

Este ejercicio forma parte del curso

Informes en SQL

Ver curso

Instrucciones del ejercicio

  • A partir de web_data, extrae country_id y usa la función DATE_PART() para crear month.
  • Crea month_views que obtenga el total de visualizaciones dentro del mes.
  • Crea previous_month_views que obtenga el total de visualizaciones del mes pasado para el país dado.
  • Crea el campo perc_change que calcule el porcentaje de cambio de este mes respecto al mes pasado para el país dado, donde un valor negativo representa una pérdida de visualizaciones y un valor positivo representa crecimiento.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código