proc sort data=ashr.asharemr out=mr;by stkcd trdmnt;run;
data ashr.mr;
set mr;
by stkcd;
lagretn=0;
do i=1 to 11;
lagretn+mretnd;
if last.stkcd then leave;
end;
averetn=lagretn/11;
keep stkcd trdmnt lagretn averetn mretnd mretwd i;
where trdmnt>=200010;
run;
无法做到当距last.stkcd少于11个值时,就应该停止计算均值,而不是直到last.stkcd才停止。该如何修改呢?
(数据形式见下一贴)