SAS Base Programmer 練習問題3
以下の内容の生データファイル amount がある
----+----1----+----2----+----3 $1,234
data test; infile 'amount'; input @1 salary 6.; if _error_ then description = 'Problems'; else description = 'No Problems'; run;
このプログラムをサブミットすると
descriptionの値は以下のどれになるか
A. Problems
B. No Problems
C. ' ' (欠損値)
D. プログラムが実行時エラーとなるため、不定値
出典はこちら
答え: A (要反転)
inputステートメントでsalaryに設定されているフォーマットが入力ファイルのフォーマットと合っていないため、Invalid dataのエラーとなる。_error_ に1が設定されるため、次の行のif文が実行され description は'Problems'となる。
3行目のsalaryのフォーマットを
input @1 salary dollar6.;
のように修正すると正常にデータを読み込むようになる。