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

コメント

このブログの人気の投稿

日付フォーマットでない文字項目をSAS日付に変換するときにログ出力されるメッセージを抑制したい - SAS

データセット(.sas7bdatファイル)の文字コードを取得したい - SAS

Linuxコマンド: date で◯か月前 / ◯か月後を取得するときの注意