Wszystko razem!
Nadszedł czas, by sprawdzić wszystko, czego się nauczyłeś. Dyrektor generalny twojej firmy zwrócił się do ciebie z prośbą o stworzenie dashboardu, który da mu szczegółowy wgląd w kluczowe wskaźniki każdej lokalizacji stacji ładowania – w tym dane dotyczące zużytej energii i kosztów ładowania. Zanim zaczniesz budować ten dashboard, musisz przygotować zbiór danych, który udostępni te informacje.
To ćwiczenie jest częścią kursu
Funkcje okna w Snowflake
Instrukcje do ćwiczenia
- Przypisz ranking każdej sesji ładowania w danej
charging_station_locationna podstawieenergy_consumed, od największej do najmniejszej wartości. - Oblicz sumę bieżącą
charging_costwedługcharging_station_location. - Zdefiniuj ramkę okna obejmującą dwie poprzednie i dwie następne sesje, aby wyznaczyć średnią kroczącą
energy_consumedwedługcharging_station_location.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;