2016-08-11 3 views
-3

그룹별로 seq 번호를 지정해야합니다. 나는 seq 번호를 사용하여 시도했지만 하나의 그룹 (1,2,3, 등)에 의해 그것을 가지고있다. 그러나 두 그룹이 필요합니다.그룹별로 seq 번호 추가 SAS

enter image description here

가지고 :

Var1 Var2 Var3 
101 aaa 202 
101 aaa 202 
101 bbb 203 
101 ccc 206 
101 ddd 207 
102 aaa 222 
102 aaa 222 
102 bbb 223 

원치 : 당신은 당신의 데이터를 정렬하는 경우

Obs var1 var2 var3 seq 
1 101 aaa 202 1 
2 101 aaa 202 1 
3 101 bbb 203 2 
4 101 ccc 206 3 
5 101 ddd 207 4 
6 102 aaa 222 1 
7 102 aaa 222 1 
8 102 bbb 223 2 
+1

하세요 샘플 데이터 게시 이미지가 아닌 텍스트입니다. – user667489

+0

사진과 같이 텍스트로 입력하는 방법을 알 수 없습니다. 여기서 데이터이다 101 AAA 202 101 AAA 202 101 BBB 203 101 CCC 206 102 AAA 222 102 AAA DDD 222 102 BBB 223 – Sammy

+0

@Sammy 여기서 다른 SAS 문제의 수를 봐. – Joe

답변

2

이 상당히 간단하다 : 아래의 예와 같이

proc sort data=sashelp.class out=class; 
    by sex age; 
run; 

data class; 
    set class; 
    by sex age; 

    if first.sex then 
     seqn = 0; 

    if first.age then 
     seqn + 1; 
run; 
+0

로버트에게 감사드립니다, 나는 당신의 모범에서와 같이 노력했습니다. 그러나 그것은 연속적입니다. 다음 그룹에서 다시 1에서 시작해야합니다. i, e. Var1 - 102는 이전의 seq 번호와 연속하지 않고 1로 시작해야합니다. 예에서 Sex = M은 1부터 다시 시작해야합니다. – Sammy

+0

@Sammy 그것이'by' 그룹을위한 것입니다. – Joe

+0

@Samy 코드를 조금 변경했습니다. –