그룹별 일련번호 부여 문의
안녕하세요. 그룹별로 일련번호를 달려고 하는데 잘 해결되지 않아서 문의좀 드려요.
예시 데이터는 아래와 같습니다.
code dif var1 var2 1 0 12 20 1 0 20 25 1 1 15 13 1 2 20 21 2 1 20 20 2 1 21 21 2 2 23 35
아래와 같이 구현하고자 하는데요. first 구문을 사용하는 경우 그룹핑에 일련번호가 증가하여 원하는 형태로 데이터가 안만들어지네요.
code dif var1 var2 group 1 0 12 20 1 1 0 20 25 1 1 1 15 13 2 1 2 20 21 3 2 1 20 20 1 2 1 21 21 1 2 2 23 35 2
조언좀 부탁드립니다. |
================================================================================
data temp;
Input code dif var1 var2;
Cards;
1 0 12 20
1 0 20 25
1 1 15 13
1 2 20 21
2 1 20 20
2 1 21 21
2 2 23 35
;
Run;
Proc sort data=temp;
By code dif;
Run;
Data temp1;
Set temp;
By code dif;
If first.Code then do; group=1; retain group; end;
If first.Code ne 1 and first.dif=1 then group=group+1;
Run;