Study SAS

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

SAS Base Programmer 練習問題13

次のSASプログラムをサブミットしたとき、WORK.RETAILの変数totalの値はどれになるか

data work.retail;
    cost = '$20,000';
    total = .10 * cost;
run;

A. 2000
B. ‘2000’
C. . (数値データの欠損値)
D. ‘ ‘(文字データの欠損値)


答え: C (要反転)

SAS Base Programmer 練習問題11の類似問題。$表現やカンマ区切り表現の場合は暗黙の変換が行われないためエラーとなる。乗算結果として数値データの欠損値が返される。正しく演算を行うにはinput関数を使用して明示的に数値データに変換する必要がある。

data work.retail;
    cost = input('$20,000', dollar7.);
    total = .10 * cost;
run;