综合运用!
就是现在!该把您学到的一切拿来检验了。您公司的 CEO 找到您,希望制作一个仪表板,能深入查看各个充电地点的关键指标,包括能耗与充电成本等数据。在构建这个仪表板之前,您需要先创建一个数据集,把这些信息整理出来。
本练习是课程的一部分
Snowflake 中的 Window Functions
练习说明
- 按
energy_consumed从大到小,为每个charging_station_location中的充电会话提供排名。 - 按
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;