|
这样好像可以:
1) proc sort data=data1 out=data2;
by Reporter Partner Product year; run;
2) proc transpose data=data2 out=data3 prefix=year_;
by Reporter Partner Product;
var year;
run;
3) data data4; set data3;
array year(13) year1_year13; (you may change to the maximum num. of year_1-year_max)
do i=1 to 13;
if year(i+1)=year(i)+1 and year(i+2)^=year(i+1)+1 then var1=1;
else if year(i+1)=year(i)+1 and year(i+2)=year(i+1)+1 and year(i+3)^=year(i+2)+1 then var1=2;
....
第三步里面的if condition 要看你具体的怎么去count而作修改, 可能未必是我上面的情况.
但是这样去做应该是可以行得通的.
Good luck!
|