- data test;
- input id yr mon;
- cards;
- 1 2017 1
- 1 2017 2
- 1 2017 3
- 1 2017 4
- 1 2017 5
- 1 2017 6
- 1 2017 7
- 1 2017 8
- 1 2017 9
- 1 2017 10
- 1 2017 11
- 1 2017 12
- 2 2017 1
- 2 2017 2
- 2 2017 3
- 2 2017 4
- 2 2017 5
- 2 2017 6
- 2 2017 7
- 2 2017 8
- 2 2017 9
- 2 2017 10
- 2 2017 11
- 2 2017 12
- 2 2016 1
- 2 2016 2
- 2 2016 3
- 2 2016 4
- 2 2016 5
- 2 2016 6
- 2 2016 7
- 2 2016 8
- 2 2016 9
- 2 2016 10
- 2 2016 11
- 2 2016 12
- ;
- proc sort data=test; by id; run;
- data result; set test;
- by id;
- retain id1 0;
- if first.id then id1=1;
- else id1=id1+1;
- run;