自分がしょっちゅう間違えるので、自分のために整理します。
さて
data Q1;
do X=1 to 10;
output;
end;
run;
のデータセットがあります。
以下の①から④までのプログラムを実行したとき
エラー・ワーニングがでずに、きちんとYにリネームされた
データセットが作成されるのはどれでしょうか??
/*①*/
proc sort data=Q1 out=A1(rename=(X=Y) where=(X>5));
by X;
run;
/*②*/
proc sort data=Q1 out=A2(rename=(X=Y) where=(Y>5));
by X;
run;
/*③*/
proc sort data=Q1 out=A3(rename=(X=Y) keep=X);
by X;
run;
/*④*/
proc sort data=Q1 out=A4(rename=(X=Y) keep=Y);
by X;
run;
なんか、SAS BASEの資格試験にでてきそうな、いやらしい問題ですね
まず
【①の結果】
データセットは作成されません
【②の結果】
【③の結果】
【④の結果】
WARNINGだけですが、データセットは作成されてません
というわけで
①×
②○
③○
④×
でした。
推理するに、データセットオプション内でのステートメントについて
keep → rename → where
の順で適応されているということでしょうかね。
たぶん、きちんと資料読めば、どっかに書いてあるんでしょうか、とりあえずここまで
0 件のコメント:
コメントを投稿