大概是这样,我想往缺少的时间戳里填补数据。(比如说9:00:01到9:00:05 如果没有数据,那么我就将9:00:00的数据复制给9:00:01到9:00:05,当然我是在9:00:06才能发现9:00:01到9:00:05没有数据的)。
但是发现无法用IF语句来使用循环。(if then do ……do i=1 to tickgap …. End 这样好像无法运行)。
data a;
set timelist;
timegap=intck('second',lag(time),time); /* 检查是否丢失*/
if timegap>1 then do /*填补丢失时间*/
do i=1to tickgap;
temptime=time;
tempvalue=value;
time=time+'0:00:01't;/*循环复制上一个时间的数据到当前行*/
value=lag(value);
output;
time=temptime;/*将最新行恢复为当前时间数据*/
value= tempvalue
end;
end;