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
コメント
コメントを投稿