superyxo 发表于 2013-2-7 15:15 
我能想出来少量的贷款用这个可以。如果有几万条贷款,每一个贷款都要算出来对应的前六个月的平均利率要怎 ...
你的要求类似于求股票价格的移动平均值
那里需要控制固定的步长,即lag,如前15个交易日
可以用SAS的临时数组来做,这样的宏在论坛里也可以搜到
但你这里是要求前六个月的平均值,即步长是不定的
所以不能用前面提到的临时数组的办法
我能想到的是用%do循环来做
%let BegT='1JAN2010'd;
%let EndT='31DEC2012'd;
%do i=&BegT %to &EndT;
proc means data=have(where=(date>=&i and date<intnx('month',&i,6,sameday))) out=want_&i;
xxx
run;
%end;
然后把所有的want_&i表格连起来就好了
%end;