data have;
do x = 1 to 5;
do y = 1 to 3;
z=floor(7*ranuni(7));
rownum+1;
output;
end;
end;
run;
data test;
do t=1 by 1 until (last.x);
set have;
by x;
sum_z+z;
end;
do t=1 by 1 until (last.x);
set have;
by x;
output;
put x= z= sum_z= _N_= rownum=;
end;
sum_z=0;
run;
このようなことができるのです。
また、
_N_
もあります。これはデータステップループの繰り返し回数で、通常のデータステップでは行番号と等しくなります。 これはデータセットには書き込まれませんが、通常の変数として常にアクセスすることができます。SASでデータセットを読み込むとき、
_n_
は観測番号を指します。これでうまくいくはずです。N_
が観察番号と同一でない典型的な例です。クラス変数の各値の各行に、変数の合計を追加するために使用されるDoWループです。 この場合、データステップループは
x` の各値に対して一度ずつ繰り返し処理を行います。ログ