我正在计算年度变化,以下是hive中的查询
select Name,
Year,
Month,
ID,
value as Current,
LAG(value,1,0) OVER(PARTITION BY name,month,id ORDER BY year ASC) as Previous,
value - LAG(value,1,0) OVER(PARTITION BY name,month,id ORDER BY year ASC) as Change
当前结果
Name Year Month ID Current Previous Change
A 2015 1 8320 944 0 944
O 2015 1 8320 153 0 153
O 2016 1 8320 133.92 153 -19.08
B 2015 1 8320 572 0 572
C 2016 1 8320 126 0 126
2016年有3个案例
我的预期结果是:
Name Year Month ID Current Previous Change
A 2015 1 8320 944 0 944
A 2016 1 8320 0 944 -944
O 2015 1 8320 153 0 153
O 2016 1 8320 133.92 153 -19.08
B 2015 1 8320 572 0 572
B 2016 1 8320 0 572 -572
C 2016 1 8320 126 0 126
请指导我如何获得上一年的价值,即使没有当前的年份价值。谢谢你提前获得帮助。