2018年9月18日火曜日

【OPTIONS APPEND / INSERT】システムオプションに設定値を追加する。





例として、FMTSEARCHシステムオプションに設定値を追加してみます。
  • FMTSERACHシステムオプションは「CASサーバーでのフォーマットライブラリの検索順には適用されない」とのことなので注意(CASは使用したことないので詳細不明。詳しくはリファレンスを参照下さい)


それと、今回紹介する方法「OPTIONS APPEND / INSERT」は環境等によって挙動が異なります。
詳細は記事の最後らへんに注意点として記載。




ではまず、FMTSEARCHシステムオプションの設定値をログに出力してみます。

%put %sysfunc(getoption(fmtsearch));

ログ
(WORK LIBRARY)


WORK、LIBRARYの順に設定されていますね。




「APPENDシステムオプション」を使う

options append=(fmtsearch=myfmt);
%put %sysfunc(getoption(fmtsearch));

ログ
(WORK LIBRARY MYFMT)



MYFMTというライブラリが末尾に追加されました。
APPENDシステムオプションは、システムオプションの末尾に設定値を追加することが出来ます。


構文

 OPTIONS APPEND=( システムオプション名 = 末尾に追加する設定値 );





「INSERTシステムオプション」を使う

options insert=(fmtsearch=myfmt2);
%put %sysfunc(getoption(fmtsearch));

ログ
(MYFMT2 WORK LIBRARY MYFMT)



MYFMT2というライブラリが先頭に追加されました。
INSERTシステムオプションは、システムオプションの先頭に設定値を追加することが出来ます。


構文

 OPTIONS INSERT=( システムオプション名 = 先頭に追加する設定値 );






注意点


今回の方法で設定できるシステムオプションは環境・実行方法によって異なります。
以下を実行すると、設定できるシステムオプションがログに出力されます。

proc options listinsertappend;
run;

ただし、一部のシステムオプションはSAS起動時(構成ファイルまたはSASコマンドにて指定)のみ設定可能です。




その他メモ


以下のように何回も実行すると、同じ設定値が追加され続けちゃう事があるので、気を付けてくださいね。

options append=(fmtsearch=abc);
options append=(fmtsearch=abc);
%put %sysfunc(getoption(fmtsearch));

ログ
(WORK LIBRARY ABC ABC)





0 件のコメント:

コメントを投稿