小鳄鱼a 发表于 2015-5-28 08:04 
谢谢 能否讲讲运行步骤 程序没怎么看懂
大致步骤是这样:
1. 从a中读取记录(by year qtr),一直到last.year,也就是year 的最后一个qtr的记录。
rename var=ivar可以保留下这最后一个qtr的IVAR;
2. 这时,从a里逐条读取记录,一直到last.year, 每一条都输出。
在第一步 IVAR的基础上,把同一年的每个qtr的记录读进去,分别输出。
*每一圈 data---run处理一年的数据;
*两个set 语句里的数据集a,可以看成完全独立的数据集。
*do until()可以保证先读取,再判断(last.year)。所以前面的一句(if last.year)并不影响。
*前面那个set只是为了找到每一年最后qtr的IVAR,后面的do循环是把同一年每个qtr的记录和IVAR放到一起,分别输出。