data aaa;
input date yymmdd10. n;
format date yymmdd10.;
cards;
2011-03-01 36
2011-03-02 37
2011-03-03 38
2011-03-04 39
2011-03-07 40
2011-03-08 41
;
run;
%let x="03MAR2011"d;
proc sql;
select max(n) into :z
from aaa
where date<=&x.
;
quit;
这里其实假定了数据中n是按照日期单调增的情况。楼上的解答只是没考虑到最近接且之前的后面这个“之前”条件而已,但也很有参考意义。


雷达卡





京公网安备 11010802022788号







