Study SAS

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

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.;

のように修正すると正常にデータを読み込むようになる。