Study SAS

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

SAS Base Programmer 練習問題1

以下のSASプログラムがサブミットされたとする。

data test;
    set sasuser.employees;
    if 2 le years_service le 10 then
        amount = 1000;
    else if years_service gt 10 then
        amount = 2000;
    else
        amount = 0;
    amount_per_year = years_service / amount;
run;

years_service = 1のとき、AMOUNT_PER_YEARの値は次のどれになるか

A. 0
B. 1000
C. 2000
D. .(欠損値)

出典はこちら


答え: D (要反転)

years_service = 1 のとき、amountの値は0となる。
amount_per_year = years_service / amount = 1 / 0 となるが、
0による除算は実行時エラーとなり、欠損値が結果として設定される。