¡Juntándolo todo!
¡Ha llegado el momento! Toca poner a prueba todo lo que has aprendido. El CEO de tu empresa te ha pedido un panel que le dé una visión detallada de los indicadores clave de cada punto de carga. Esto incluye datos como la energía consumida y el coste de carga. Antes de poder construir el panel, necesitas crear un conjunto de datos que muestre esta información.
Este ejercicio forma parte del curso
Funciones de ventana en Snowflake
Instrucciones del ejercicio
- Proporciona un ranking para cada sesión de carga en una
charging_station_locationsegúnenergy_consumed, de mayor a menor. - Genera un total acumulado (running total) de
charging_costporcharging_station_location. - Crea una ventana con las dos sesiones anteriores y las dos siguientes para calcular una media móvil (moving average) de
energy_consumedporcharging_station_location.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
SELECT
charging_station_location,
TO_DATE(charging_start_time),
charging_cost,
energy_consumed,
-- Provide a ranking for each charging session based on energy consumed, from greatest to least
___() OVER(
PARTITION BY charging_station_location
ORDER BY ___
) AS rank_energy_consumed,
-- Generate a "running total" of charging costs by charging station location
SUM(___) OVER(
___ ___ ___
ORDER BY charging_start_time
ROWS BETWEEN ___ ___ AND ___ ___
) AS running_total_charging_cost,
-- Build a window frame using the two preceding and two following sessions to find a moving average of energy consumed
___() OVER(
PARTITION BY ___
ORDER BY charging_start_time
ROWS BETWEEN ___ ___ AND ___ ___
) AS moving_average_energy_consumed
FROM ELECTRIC_VEHICLES.charging
WHERE energy_consumed IS NOT NULL
ORDER BY charging_station_location, charging_start_time;