我需要一个解决方案来根据date.Suppose找到最接近缺失值的日期值,我有一个临时表,如下面的Product值列
Product Date Value
P1 1/10 10
P1 2/10 20
P1 3/10
P1 4/10 这里您发现对于日期3/10和4/10没有值,它应该从最近的日期( 2/10到3/10和4/10 i.20)复制值。我在HANA中使用了滞后函数,它只复制3/10的值,对于日期4/10的值是空的。HANA中是否有类似重复滞后的函数,可以从最近的日期值取值。
据我所知,我不想做游标,也不支持SQL脚本中的CTE
布尔阿沙德
发布于 2017-10-31 10:45:01
请检查以下SAP数据库的SQLScript语句。
select
Product, Date, Value
from (
select
pv.Product,
pv.Date,
ifnull(pv.Value, p.Value) as Value,
row_number() over (partition by pv.Product, pv.Date order by p.Date desc) as rn
from ProductValue pv
left join ProductValue p
on
pv.Value is null and
p.Product = pv.Product and
p.Date < pv.Date and
p.Value is not null
) t
where rn = 1
order by
Product,
Date我在WHERE子句中结合数()函数使用了一个自连接。
上述SAP HANA SQL脚本的输出如下

https://stackoverflow.com/questions/47028803
复制相似问题