SASシステムオプション値の取得方法

[OS] ALL
[リリース] ALL
[キーワード] BASE, SYSTEM OPTION, FUNCTION, GETOPTION

[質問]

現在設定されているSASシステムオプションの値を取得し、条件によって値を変更したいのですが、何か良い方法はありますか。

[回答]

GETOPTION関数により、現在設定されているオプションの値を取得できます。

下記のプログラム例は、PAGESIZE=システムオプションの値を取得し、100よりも小さかった場合には、OPTIONSステートメントを実行して値を100に設定するマクロプログラムです。


%LET p_size=%SYSFUNC(GETOPTION(PS));           /* 現在のPAGESIZEを取得 */
%PUT &p_size;                       /* 確認のため取得した値をログへ出力 */

%MACRO ps;
   %IF &p_size < 100 %THEN %DO;
                                     /* PAGESIZEが100未満なら100へ変更 */
      OPTIONS ps=100;
   %END;
%MEND;

%ps;

%LET p_size=%SYSFUNC(GETOPTION(PS));          /* 現在のPAGESIZEを取得 */
%PUT &p_size;                       /* 確認のため取得した値をログへ出力 */