SASの環境設定ファイル ( Configファイル ) の格納場所を知りたい - システムオプション config
SASの環境設定ファイルは、使用するWORK領域のパス、メモリの最大サイズ、リスト・ログの出力場所、マルチバイト DBCS への対応、デフォルトのエンコーディング、実行するSASプログラムの実行前に動かすSASプログラムの指定、などなど、様々な設定をすることができます。そんな環境設定ファイルですが、けっこうディレクトリの深い場所にあって、SASのインストール場所にも依存しますし、OSによっても違います。見つけるのはなかなか面倒なファイルです。
そんな環境設定ファイルの格納場所ですが、システムオプションconfig にて設定されています。オプションの値をログに出力する proc options を用いることで簡単に見つけることが出来ます。
58 proc options option=config value; 59 run; SAS (R) PROPRIETARY SOFTWARE RELEASE 9.4 TS1M2 SAS オプション CONFIG のオプション値の情報 値 : ( /opt/sasinside/SASHome/SASFoundation/9.4/sasv9.cfg /opt/sasinside/SASHome/SASFoundation/9.4/nls/u8/sasv9.cfg /opt/sasinside/SASHome/SASFoundation/9.4/sasv9_local.cfg /opt/sasinside/SASConfig/Lev1/SASApp/sasv9.cfg /opt/sasinside/SASConfig/Lev1/SASApp/sasv9_usermods.cfg /opt/sasinside/SASConfig/Lev1/SASApp/WorkspaceServer/sasv9.cfg /opt/sasinside/SASConfig/Lev1/SASApp/WorkspaceServer/sasv9_usermods.cfg ) スコープ : SAS Session オプション値の設定方法 : Internal NOTE: PROCEDURE OPTIONS処理(合計処理時間): 処理時間 0.00 秒 CPU時間 0.00 秒
こんなかんじで、簡単に、ファイルのフルパスがログに出力されます。
いっぱい環境設定ファイルが出力されますが、どのファイルにどんな設定が書いてあるのか、ぱっとは分かりません。それも proc options、そして、 value オプションを用いて探すことが出来ます。
59 proc options option=(autoexec work encoding) value ; 60 run ; SAS (R) PROPRIETARY SOFTWARE RELEASE 9.4 TS1M2 SAS オプション AUTOEXEC のオプション値の情報 値 : /opt/sasinside/SASConfig/Lev1/SASApp/WorkspaceServer/autoexec.sas スコープ : Object Server オプション値の設定方法 : Config File Config ファイル名 : /opt/sasinside/SASConfig/Lev1/SASApp/WorkspaceServer/sasv9.cfg SAS オプション WORK のオプション値の情報 値 : /tmp/SAS_workF2E300000852_localhost.localdomain/SAS_workC40000000852_localhost.localdomain スコープ : IOM ROOT COMP ENV オプション値の設定方法 : Config File Config ファイル名 : /opt/sasinside/SASHome/SASFoundation/9.4/sasv9.cfg SAS オプション ENCODING のオプション値の情報 値 : UTF-8 スコープ : SAS Session オプション値の設定方法 : Config File Config ファイル名 : /opt/sasinside/SASHome/SASFoundation/9.4/nls/u8/sasv9.cfg NOTE: PROCEDURE OPTIONS処理(合計処理時間): 処理時間 0.00 秒 CPU時間 0.02 秒
value オプションは、オプションの値、スコープ、オプション値の設定方法を出力するためのオプションです。オプション値の設定方法の結果が Config File のとき、Config ファイル名が出力されます。
上記の例では、システムオプション autoexec, work, encoding の値を調べています。それぞれ Config ファイル名が異なるのが分かるかと思います。
proc options 以外でもオプションconfigの値を取得する方法があります。
1つ目は、getoption関数です。getoption関数は、指定したオプションの値を取得する関数です。
60 data _null_ ; 61 length CFG $1000. ; 62 CFG = getoption("config") ; 63 putlog CFG= ; 64 run ; CFG=( /opt/sasinside/SASHome/SASFoundation/9.4/sasv9.cfg /opt/sasinside/SASHome/SASFoundation/9.4/nls/u8/sasv9.cfg /opt/sasinside/SA SHome/SASFoundation/9.4/sasv9_local.cfg /opt/sasinside/SASConfig/Lev1/SASApp/sasv9.cfg /opt/sasinside/SASConfig/Lev1/SASApp/sasv9_us ermods.cfg /opt/sasinside/SASConfig/Lev1/SASApp/WorkspaceServer/sasv9.cfg /opt/sasinside/SASConfig/Lev1/SASApp/WorkspaceServer/sasv9 _usermods.cfg ) NOTE: DATAステートメント処理(合計処理時間): 処理時間 0.01 秒 CPU時間 0.02 秒
また、sashelp.voption と proc sql にて使える dictionary.options を用いても、取得することができます。これらは、オプションの値が格納されているデータセットです。
title "sashelp.voption" ; proc print data=sashelp.voption(where=(optname="CONFIG")) ; run ; title "proc sql : dictionary.options" ; proc sql ; select * from dictionary.options where optname="CONFIG" ; quit ;
さらに、環境設定ファイルの内容すべてが表示されますが、システムオプション verbose を付加することでも確認することができます。SAS社のサポートページ「起動時の環境設定の内容を確認する」に詳細が記載されています。
sas -verbose sample.sas
コメント
コメントを投稿