CommencerCommencez gratuitement

Mettons tout ensemble !

Nous y sommes ! 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 offrant une vue détaillée des indicateurs clés pour chaque site de recharge. Cela inclut des données comme l’énergie consommée et le coût de recharge. Avant de pouvoir construire ce tableau de bord, vous devez créer un jeu de données qui met en évidence ces informations.

Cet exercice fait partie du cours

<cours>Fonctions de fenêtre dans Snowflake</cours>
Voir le cours

Instructions de l’exercice

  • Attribuez un classement à chaque session de recharge pour un charging_station_location donné, en fonction de energy_consumed, du plus élevé au plus faible.
  • Générez un total cumulatif (running total) de charging_cost par charging_station_location.
  • Construisez une fenêtre avec les deux sessions précédentes et les deux suivantes pour calculer 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