CommencezCommencez gratuitement

On met tout ensemble!

C'est le moment! Il est temps de mettre en pratique tout ce que vous avez appris. Le PDG de votre entreprise vous a demandé un tableau de bord qui lui donne une vue détaillée des indicateurs clés de chaque emplacement de recharge. Cela inclut des données comme l'énergie consommée et le coût de recharge. Avant de pouvoir bâtir ce tableau de bord, vous devez créer un jeu de données qui met en évidence ces informations.

Cette activité fait partie du cours

Fonctions de fenêtre dans Snowflake

Voir le cours

Instructions de l’exercice

  • Établissez un classement pour chaque session de recharge à un certain charging_station_location selon energy_consumed, du plus grand au plus petit.
  • Générez un total cumulatif (running total) de charging_cost par charging_station_location.
  • Construisez une fenêtre en utilisant les deux sessions précédentes et les deux suivantes pour trouver une moyenne mobile (moving average) de energy_consumed par charging_station_location.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code