รวมทุกอย่างเข้าด้วยกัน!
ถึงเวลาแล้ว! มาทดสอบทุกสิ่งที่ได้เรียนรู้มากัน CEO ของบริษัทต้องการ dashboard ที่แสดงภาพรวมเชิงลึกของแต่ละสถานที่ชาร์จ ครอบคลุมข้อมูลต่าง ๆ เช่น พลังงานที่ใช้และค่าใช้จ่ายในการชาร์จ ก่อนที่จะสร้าง dashboard ได้ จำเป็นต้องเตรียมชุดข้อมูลที่รวบรวมข้อมูลเหล่านี้ไว้ก่อน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Window Functions ใน Snowflake
คำแนะนำการฝึกหัด
- กำหนดอันดับให้แต่ละ session การชาร์จในแต่ละ
charging_station_locationโดยอ้างอิงจากenergy_consumedเรียงจากมากไปน้อย - สร้าง ผลรวมสะสม ของ
charging_costแยกตามcharging_station_location - กำหนด window frame โดยใช้ สอง session ก่อนหน้าและ สอง session ถัดไป เพื่อคำนวณ ค่าเฉลี่ยเคลื่อนที่ ของ
energy_consumedแยกตามcharging_station_location
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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;