सब कुछ एक साथ लाएँ!
यही समय है! अब तक आपने जो कुछ सीखा है, उसे परखने का वक्त आ गया है. आपकी कंपनी के CEO एक ऐसे डैशबोर्ड की मांग कर रहे हैं जो हर चार्जिंग लोकेशन के हाई-लेवल मेट्रिक्स का गहन दृश्य दे. इसमें energy consumed और charging cost जैसी चीज़ों का डेटा शामिल है. यह डैशबोर्ड बनाने से पहले, आपको ऐसा डेटासेट तैयार करना होगा जो यह जानकारी सतह पर लाए.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Snowflake में Window Functions
अभ्यास निर्देश
- किसी
charging_station_locationपर हर चार्जिंग सेशन के लिएenergy_consumedके आधार पर, सबसे बड़े से सबसे छोटे तक एक रैंकिंग दें. charging_station_locationके अनुसारcharging_costका एक रनिंग टोटल जनरेट करें.- दो पूर्ववर्ती और दो अनुवर्ती सेशंस का उपयोग करते हुए एक विंडो फ्रेम बनाएँ, ताकि
charging_station_locationके अनुसारenergy_consumedका मूविंग एवरेज निकाला जा सके.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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;