2016-05-10 21 views
0

6ヶ月ごとに犯罪の方法でリセットするカウント変数を作成したいと考えています。ここに私のコードです:事件のSASリセットするカウント変数の作成

proc sort data=incident_v1; 
by incident year; 
run; 

Data incident_v2; 
set incident_v1 end= eof; 
by incident; 
do i=1 until (eof); 

do j = 1 to 6; 
      retain ID 0; 
if first.incident then ID=ID +1; 
end; 

     end; 
        run; 

年-MO入射#は半年ごとにカウント 199901カージャック6 1 199902カージャック7 2 199903カージャック12 3 199904カージャック8 4 199905カージャック13 5 199906カージャック8 6 199907カージャック13 1 199908カージャック6 2 199909カージャック8 6 200001強盗5 1 200002強盗5 2 200003強盗8 3 200004強盗4 4 200005強盗6 5 200006強盗14 6

+0

。書式設定を修正すると、回答が得られる可能性が高くなります。 –

答えて

0

はこれを試してみてください:それは問題をフォーマットしている質問に答えるのは難しい

proc sort data=incident_v1; 
by incident year; 
run; 

Data incident_v2; 
set incident_v1 end= eof; 
by incident; 
/*Reset Count if New Incident Type*/ 
if first.incident then Incident_count_6_mnths = 0; 
/*Reset Count if month is 07 (which from your data below I believe to be actually year & month and of the form YYYYMM*/ 
if substr(year,5,2) = "07" then Incident_count_6_mnths = 0; 
/*if year is a not a text field you will have to use: substr(compress(put(year,8.)),5,2) = "07" */ 

/*Add a counter - please note there is no need for a retain statement as the +1 will automatically retain.*/ 
Incident_count_6_mnths+1; 
run; 
+0

ありがとうございます。方法と年(年月)ごとにすべての行の新しいカウンタを作成する場合は、提供したコードをどのように変更しますか。私は移動率を計算する必要があります。 – Taliah

関連する問題