うずまき2017 powered by Jun-Systems

耳管開放症, SAS, 統計解析, 人工知能, プログラミングそれに思考

*

SASを使いやすくカスタマイズしよう SAS環境変数,AUTOEXECなど

   

結構とっつきにくくて融通が利かないと思われがちなSASですが、ちょっと面倒な設定さえこなせば案外いい感じになったりします。
まるでiPhoneのJailBreakする話並みのノリで書いてますが真剣です。
 
先にお断りしておきますが、この解説に従ってSASの挙動がおかしくなっても一切の責任を負うことはできません。
データセットと設定ファイルその他諸々のバックアップを必ず行った上で自己責任のもとに行ってください。
 

1 設定ファイルを探し出す

まずカスタマイズするにあたって、デフォルトで読み出す設定ファイルを探し出さないといけない。
必要なのは、SAS9ならsasv9.cfg、そしてautoexec.sasのふたつ。
(これらはカスタマイズしなくてもファイルの場所は知っといてよい)
 
sasv9.cfgに関しては、SASのシステムの挙動を設定したりする感じの最重要ファイルです。
入っているとしたらだいたいこのあたりだと思います。
C:\Program Files\SASHome\SASFoundation\9.4\sasv9.cfg
C:\Program Files\SASHome\SASFoundation\9.4\nls\ja\sasv9.cfg
 
ぼくのPCの場合だと、2つのうち上のファイルを開くと、
-config “C:\Program Files\SASHome\SASFoundation\9.4\nls\ja\sasv9.cfg”
とのことで、「設定はここを参照しろ」という指示が書かれており、下のファイルに詳しく環境変数に関する記述が入っています。
 
ここにいろいろと環境変数を書いていくわけです。
 
そして、autoexec.sasに関しては、SASを立ち上げた際に無条件に走らせたい処理がある場合に使えるファイルです。
もしSASを立ち上げた段階でログに
NOTE: AUTOEXEC処理を開始します。ファイルはC:\***\autoexec.sasです。
という表示が出た場合、その場所に存在します。
 
その表示がなかった場合には、sasv9.cfgの最後に

/*自分で設定した環境変数*/
-AUTOEXEC "C:\***\autoexec.sas"

みたいな感じで好きな場所を指定した上でその場所にAUTOEXEC.sasを作ってあげれば、SASを立ち上げるごとに自動でその処理をやってくれるようになります。
 

2 フォントを変えよう

SASは見づらい。
特に日本語を扱おうとすると中国語のフォントで日本語を表示したみたいになったりする。
ぼくは分析するとき以外は基本的にMacユーザなんですが、フォントが見づらいのは結構なストレスです。
 
見やすいフォントに変えたい。
ということで自分でフォント追加してそれをシステムに指定してみました。
個人的なオススメフォントはRounded M+です。
とりあえずダウンロードしてインストールしたらsasv9.cfgの一番下に

/*自分で設定した環境変数*/
-FONT "Rounded M+ 1m light" 12
-SYSGUIFONT "Rounded M+ 1m light" 12

こんな感じで追加するだけです。
ただし、システムフォントなどソフトウェアのシステム根幹部分をいじくっている関係で、立ち上がりに一瞬ラグができることに注意。
 
また、SASのフォントに関する注意点としては、必ず等幅フォントを使用するようにしましょう。
やってみればわかりますが、プロポーショナルフォント(文字によって文字間の空白が異なる可変幅フォント)を使うと表示がバグります。
 

3 どうでもいいハローメッセージの表示

全くどうでもいいんですが、AUTOEXECに関して書けることがあんまりなかったのでくだらないことを書きます。
AUTOEXEC.sasに処理をいろいろと書けば立ち上げ時点で処理をしてくれることは上に書いた通りですが、それを使って、立ち上がった段階で今日の日時などを表示させることができます。

%PUT Hello! Today is &sysdate., &sysday..;

&sysdateや&sysdayに関しては、いわゆるSASの自動マクロ変数ですね。
その他のものに関してはこちらなんか見ていただくといいのかもしれませんね。マクロ関数、自動マクロ変数一覧 – SASmemo
 
ということで、思いついたらまたなんか書きます。
 
 


 - SAS Programming

Comment

  1. […] (環境設定のファイルの場所に関しては、以前適当に書いた「SASを使いやすくカスタマイズしよう SAS環境変数,AUTOEXECなど」などをご覧ください)   […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

SASでカテゴリカルな変数をダミー変数化するマクロ
no image
SASのPROC HTTPでe-statのAPIを叩く(叩くだけ)
no image
SASで直接twitterを検索してTLをインポート(PROC HTTP/Twitter OAuth)
no image
SASで横方向の合計を出すには PROC SQL part2
SASでランダムサンプリングしてグループ分けするマクロ
no image
SASのPROC SQLで一括操作(変数名の変更 / ダミー変数操作など)
no image
SAS上でRを走らせよう SAS/IML
no image
SAS上で走っているRとSASでのデータセットの受け渡し
no image
SASでウェブ上のcsvファイルを直接読み込む
【忘備録】SASで巨大データセットから先頭100Obsを抽出