看得心累 这截的一段前后没说明白。 变量有ID ,日期(日频?月频?年度的?),对应日期的cost。你是要求啥?每年cost总和大于275的ID?还是cost总和大于275的ID(不用管年份只要都加起来)?总之大概是对每个ID求和的意思?
先把所有数据横向合并到一起(这里貌似已经在一张data set里了,就不用这一步了)
然后
proc sort data=?;
by id date;
run;
如果每个ID的数据比较小(比如月频数据,只要求年度总和),那你用lag 和array(),
data fx2;
set fx;
array arr(*) h1-h12;
arr(1)=cost;
do i=2 to 12;
arr(i)=lag(arr(i-1));
end;
drop i;
run;
然后横着把12个月的cost都加起来就好了(这里面会有每个ID相邻的那里出现前一个ID和后一个ID的cost加起来的没意义的情况,反正你只要选每个ID最后那个和(用first. 和last. 语句找)就行了 其它全部drop)。
要是数据太多(比如日频数据让你求年度总和)的话......再说吧......