Hel*_*lad 3 postgresql missing-data locf imputation
PostgreSQL 中是否实现了最后观察结转 (LOCF) 数据插补方法?
如果没有,我该如何实现这个方法?
以下代码假设一个表tbl包含列a、b(键)、t(时间)和v(locf 插补的值):
create or replace function locf_s(a float, b float)
returns float
language sql
as '
select coalesce(b, a)
';
drop aggregate if exists locf(float);
CREATE AGGREGATE locf(FLOAT) (
SFUNC = locf_s,
STYPE = FLOAT
);
select a,b,t,v,
locf(v) over (PARTITION by a,b ORDER by t) as v_locf
from tbl
order by a,b,t
;
Run Code Online (Sandbox Code Playgroud)
( SQLFiddle )
| 归档时间: |
|
| 查看次数: |
1744 次 |
| 最近记录: |