展望SAS

时间:2015-05-28 10:40:24

标签: sas lookahead

我需要在SAS的数据集中创建一个主变量。

我使用了简单的方法:

proc expand data=data out=data_lead method = none; 
convert rate; 
convert rate = rate_lead5  / transformout=(lead 5); 
run;

但SAS需要更多资源(我的数据大约是220 GB)

有没有简单的方法可以在不使用这么多内存的情况下创建一个5步提前变量?谢谢!

1 个答案:

答案 0 :(得分:1)

正如我的评论所述,请看看Joe对this问题的回答。但是,如果您只需要提前读取每个记录5步(而不是前面5个变量1-5步),那么您可以使用他的技术,但不使用宏,只需执行以下操作:

data data_lead ;
  merge data data(firstobs=5 rename=(rate=rate_lead5)) ;
run ;