o******6 发帖数: 538 | 1 ☆─────────────────────────────────────☆
qqzj (小车车) 于 (Mon Mar 16 17:39:29 2009) 提到:
again, easiest to understand, not the fastest:
%let N = 5;
proc sort; by companyname; run;
proc rank data = yourdata out=yourdata;
by companyname;
var date;
ranks count;
run;
proc sql;
create table target as
select a.*, b.date as previousdate, b.value as previousvalue
from yourdata a, yourdata b
where a.companyname = b.companyname and
a.count ge b.count and a.count <= b.count + &N
order by a.companyname, a.d |
|