投稿

ラベル(システムオプション: termstmt=)が付いた投稿を表示しています

SASプログラムの実行前後で、別のSASプログラム、または任意のステートメントを動かしたい - システムオプション autoexec, initstmt, termstmt

イメージ
SASプログラムの実行前や実行後に必ず実行したいプログラムとかってあるかと思います。すべてのプログラムまたは一部のプログラムにおいて、WORK領域の場所を統一したい、オプション LOG を使ってデフォルトのパスを統一したい、options msglevel=i ; は全てのプログラムで実行させたい、などなど。それを実現するためのシステムオプションのお話です。 SASプログラム実行前に実行するSASプログラムを指定する システムオプション autoexec システムオプション autoexec は、SASプログラムを指定します。指定されたSASプログラムは、SASプログラムを実行する前に、毎度実行されます。 SASプログラムの実行前に、SASプログラム /TEST/BEFORE.sas を実行するには、例えば以下のように書きます。 SASバッチモード autoexecの指定例 sas /TEST/SAMPLE.sas -autoexec /TEST/BEFORE.sas SAS環境設定ファイル autoexecの指定例 環境設定ファイルに下記の内容を追記/修正してください。 -autoexec /TEST/BEFORE.sas SAS雲丹(SAS University Edition) autoexecの指定例 SAS雲丹(SAS University Edition) では、autoexecは、以下のように設定します。画面右上のアイコンのメニューから、「Autoexecファイルの編集」を押します。 表示されたウィンドウの中に実行したいコードを入力して保存します。 これで、記載したコードが、SASプログラム実行される前に実行されるようになります。書いたコードは、フォルダの直下に autoexec.sas として保存され、直接編集することも出来ます。 SASプログラムの実行前後で、ステートメントを実行する システムオプション initstmt, termstmt ※システムオプション initstmt, termstmt は、SASの環境によっては使用できないようなので、ご注意ください。 autoexecは、SASプログラムを実行するものでしたが、これらのオプションは、任...