- ata test;
- input hs code year1 year2;
- cards;
- 1 1234 2004 2004
- 1 2345 2004 2004
- 1 3456 2004 2004
- 1 3456 2005 2004
- 1 4567 2004 2004
- 1 4567 2005 2004
- 1 5678 2004 2004
- 1 5678 2005 2004
- 1 5678 2006 2004
- ;
- run;
- proc sort data=test;
- by code;
- run;
- data test1;
- set test;
- by code;
- if first.code then n+1;
- else n+0;
- run;
- proc sort data=test1;
- by year1 code;
- run;
- data want;
- set test1;
- by year1;
- if first.year1 then do;
- retain number;
- if year1=year2 then number=0;
- else number=n-1;
- end;
- drop n;
- run;
- proc sort data=want;
- by code year1;
- run;