2016-08-11 1 views
-3

グループ別にseq番号を割り当てる必要があります。私はseq番号を使用してみましたが、1つのグループ(1,2,3、など)でそれを得ました。しかし、私は2つのグループでそれが必要です。以下の例のように:グループ別にseq番号を追加する

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 101 207 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は、1で始まり、前のseq番号から連続していないはずです。 あなたの例では、Sex = Mは1からもう一度始める必要があります。 – Sammy

+0

@Sammyこれは 'by'グループのためのものです。 – Joe

+0

@サミー私は少しコードを変更しました。 –

関連する問題