4

ファイルが存在するかどうかをチェックし、存在する場合は置換を拒否する SAS EG プログラムがあります。

これが発生した場合、SAS EG がそのプログラムでエラーを表示し、意味のあるカスタム エラー メッセージをログに表示するようにします。また、エラー メッセージを、人々がログで見慣れている他のエラー メッセージと同じように表示して、注意を払うようにしたいと考えています。

とりあえず、エラー メッセージの名前のファイルをインポートしました。表示したいメッセージにファイルが見つからないというメッセージを追加するため、これは素晴らしいことではありません。

エラーがあることを宣言し、ログに入れるエラーメッセージを提供する方法はありますか?

4

1 に答える 1

5

SAS ログでは、非常に単純な方法でテキストの色を変更します。テキスト行の最初の単語をログに表示します。ERRORWARNING、およびNOTEメッセージを%putおよびputステートメントの両方で再作成できます。

%put NOTE: This is a note;
%put WARNING: This is a warning;
%put ERROR: I AM ERROR;

たとえば、特定の値が欠落している場合にエラーを表示するとします。

data have;
    input var;
    datalines;
1
.
2
3
.
;
run;

%put NOTE: Now checking for missing values...;

data _null_;
    set have;

    if(missing(var) ) then 
       put 'ERROR: A missing value for "var" was found at observation ' _N_;
run;

特定のチェックステップでフラグを作成したり、&syserr自動マクロ変数を使用したりするなど、マクロを使用してこれを行うこともできます。

%macro check;
    %let e  = 0;

    data _null_;
        set have;

        if(missing(var) ) then call symput('e', 1);
    run;

    %if(&e) %then %put ERROR: An error was found.;
%mend;
于 2016-05-24T14:43:32.507 に答える