Sätt ihop allt!
Nu är det dags att omsätta allt du lärt dig i praktiken. Företagets VD vill ha en dashboard med en övergripande vy över varje laddningsplats nyckeltal – till exempel förbrukad energi och laddningskostnad. Innan du kan bygga dashboarden behöver du skapa ett dataset som lyfter fram den här informationen.
Den här övningen är en del av kursen
Fönsterfunktioner i Snowflake
Övningsinstruktioner
- Rangordna varje laddningssession vid en given
charging_station_locationbaserat påenergy_consumed, från störst till minst. - Generera ett löpande total för
charging_costpercharging_station_location. - Bygg en fönsterram med de två föregående och två efterföljande sessionerna för att beräkna ett glidande medelvärde av
energy_consumedpercharging_station_location.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;