Study SAS

統計解析ソフトウェアSASについて学習したことのまとめやSAS認定試験対策など

SAS Base Programmer 練習問題21

100個のレコードを含む生データファイルを読み込む以下のSASプログラムについて

data work.total;
    infile 'file-specification' end = eof;
    input name $ salary;
    totsal + salary;
    <insert IF statement here>;
run;

最後のオブザーベーションをデータセットに出力するIFステートメントは以下のどれか

A. if end = 0;
B. if eof = 0;
C. if end = 1;
D. if eof = 1;

出典はこちら


答え: D (要反転)

infile 'file_path' end = <変数名>;

上記のようにendオプションの引数として変数を設定すると(eofという名前にする必要はない)、最後のオブザーベーションを読み込んだ時に設定した変数に1が、それ以外のオブザーベーションでは0が格納される。したがってeofが1のときにデータセットに出力されるようなステートメントとする。