Totul laolaltă!
Acesta este momentul adevărului! E timpul să pui în practică tot ce ai învățat. CEO-ul companiei tale ți-a cerut un tablou de bord care să îi ofere o privire de ansamblu asupra fiecărei locații de încărcare – incluzând date despre energia consumată și costurile de încărcare. Înainte de a construi acest tablou de bord, trebuie să creezi un set de date care să evidențieze aceste informații.
Acest exercițiu face parte din cursul
Funcții de fereastră în Snowflake
Instrucțiuni pentru exercițiu
- Acordă un rang fiecărei sesiuni de încărcare pentru o anumită
charging_station_location, pe baza valoriienergy_consumed, de la cea mai mare la cea mai mică. - Generează un total cumulativ al
charging_costpentru fiecarecharging_station_location. - Construiește un cadru de fereastră folosind cele două sesiuni anterioare și cele două sesiuni următoare pentru a calcula o medie mobilă a
energy_consumedpentru fiecarecharging_station_location.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;