1
SASプログラミングの初心者です。 私は物事を理解するためのコードを書いていますが、私はcontinue文を取得した後になぜ出力に行くのかを知ることはできません。下記の はコードです:SET文のバックエンド処理とSASでの継続および終了ステートメントの使用
data a B;
put 'entering do DATASTEP' ;
do i=1 to 4;
put 'entering do loop'" " i;
if (i=1) then do;
put 'value of i is 1'" " i;
put 'Entering the loop' ;
put j=_N_;
if _N_ = 2 then continue;
set sashelp.class(firstobs=1 obs=5);
put 'Ouside the loop';
output a;
end;
if (i=2) then do;
put 'value of i is 2'" " i;
put 'Entering the loop' ;
put j=_n_;
set sashelp.class(firstobs=6 obs=10);
put 'Ouside the loop';
output B;
end;
end;
put 'GETING OUT OF THE DATASTEP';
run;
これを実行してくださいするために私の疑問要求の詳細明確にするために、その後、我々は、出力データセットとログについての議論を持つことができます。
ありがとうございます。
わかりにくいコードをどのように書きましたか?何をしようとしていますか? – Cristina
レスポンスありがとうクリスティーナありがとう。私はこのコードから何らかの要件を達成しようとしていません。私は、出力が両方のデータセットにどのように生成されているのか、そしてContinue Statementがその仕様に従って動作していない理由を理解しようとしています。私によれば、データセットAでは、_N_ = 2のためにContinue Statementを使用しているので、4つのレコードしかないはずですが、その中に5つのレコードがあります。続行声明が出力Aの前にあるので、2番目のレコードはデータセットAに入るべきではありません。問題がある場合は教えてください。 –
ああ、大丈夫!説明をお寄せいただきありがとうございます。あなたのポストにこの情報を追加して、理解しやすくすることもできます。 – Cristina