LoslegenKostenlos starten

Alles zusammenführen!

Jetzt zählt’s! Zeit, alles Gelernte auf die Probe zu stellen. Der CEO deines Unternehmens möchte ein Dashboard, das ihm einen tiefen Einblick in die wichtigsten Kennzahlen jeder Ladestation gibt. Dazu gehören Daten wie verbrauchte Energie und Ladekosten. Bevor du dieses Dashboard bauen kannst, musst du einen Datensatz erstellen, der diese Informationen bereitstellt.

Diese Übung ist Teil des Kurses

<Kurs>Window Functions in Snowflake</Kurs>
Kurs ansehen

Übungsanweisungen

  • Vergib für jede Ladesitzung an einem bestimmten charging_station_location ein Ranking basierend auf energy_consumed, von der größten zur kleinsten.
  • Erzeuge eine laufende Summe (running total) von charging_cost nach charging_station_location.
  • Baue einen Fensterrahmen mit den zwei vorherigen und den zwei folgenden Sitzungen, um einen gleitenden Durchschnitt (moving average) von energy_consumed nach charging_station_location zu berechnen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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;
Code bearbeiten und ausführen