|
|
データが0件のときOUTPUTウィンドウにメッセージを出力する
[OS] ALL
[リリース] 8.2
[キーワード] SAS 8, OUTPUT, PRINT, OBSERVATION NUMBER
[質問]OUTPUTウィンドウへの出力があるプログラムを実行するとき、データが0件だと何も出力されませんが、任意のメッセージを出力するようにできますか? [回答]次のようなプログラムでメッセージを出力できます。下記のサンプルプログラムでは、データのあるデータセットと0件のデータセットを作成し、データが0件のデータセットを処理した際にメッセージを出力するマクロを作成しています。
/ * サンプルデータセット1 作成*/
DATA one;
x=1;
RUN;
/* サンプルデータセット2(データ0件) 作成*/
DATA two;
STOP;
RUN;
OPTIONS MPRINT;
%MACRO drive(dsn);
/* オブザベーション数のカウント */
DATA _null_;
CALL SYMPUT('cnt',PUT(cnt,5.));
SET &dsn NOBS=cnt;
RUN;
/* データがあるとき */
%IF &cnt NE 0 %THEN %DO;
PROC PRINT DATA=&dsn;
TITLE "データセット名 : &dsn";
run;
%END;
%ELSE %DO;
DATA _null_; /* 0件のとき */
TITLE;
FILE PRINT;
PUT _page_;
PUT "データセット名: &dsn";
PUT "データセットにオブザベーションがありません。";
RUN;
%END;
%MEND drive;
%drive(one)
%drive(two)
|
|||||