2017-01-31 18 views
1

SASの列に繰り返し数列を生成するには、1からx?SASに繰り返し番号の列を追加する方法は?

と仮定xは3

データのようです:

name age 
A 15 
D 16 
C 21 
B 35 
E 79 
F 85 
G 64 

と私はリストという名前の列を追加したい、このように:私は考えることができる

name age list 
A 15 1 
D 16 2 
C 21 3 
B 35 1 
E 79 2 
F 85 3 
G 64 1 
+0

? – user667489

+0

私たちには8人の人がいて、これらの人に仕事を割り当てる必要があります。そのうちのいくつかが今日仕事していない場合、彼らは休暇や病気の日にいるので、残りの人に仕事を割り当てる必要があります。ここで私は3人で簡単にします。 – juanbin

答えて

0

最も簡単な方法modと繰り返しカウンタを使用することです。

data want; 
    set have; 
    list = 1 + mod(_N_ - 1,3); 
run; 

mod(除算後の余りを与える)モジュロ関数です。

したがって、パラメータに応じて変化させたい場合は、3をパラメータに変更します。あなたのサンプルデータで `person3`あり、そしてどのように我々は、彼らが仕事であるか否かを知っています

%let num_atwork = 2; 

data want; 
    set have; 
    list = 1 + mod(_N_ - 1, &num_atwork.); 
run; 
+0

このアイデアが大好き!どうもありがとう! – juanbin

2
data class; 
    set sashelp.class; 
    if list>=3 then list=0; 
    list+1; 
run; 
+0

あなたの答えをありがとう! – juanbin

関連する問題