เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

รวมทุกอย่างเข้าด้วยกัน!

ถึงเวลาแล้ว! มาทดสอบทุกสิ่งที่ได้เรียนรู้มากัน 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;
แก้ไขและรันโค้ด