|
|
本章は、プログラム制御に関する文法の説明と、コードサンプルを例示しています。 |
|
|
|
SASのプログラム中でDOSやUNIXのコマンドを発行します。
X "OSコマンド";
|
|
|
|
|
MS-WORDを起動する
OPTIONS NOXWAIT NOXSYNC;
X "Ms-Wordのパス+WINWORD.EXE" "WORDファイルのパス+file名.doc”;
MS-WORDを起動しマクロを実行する
OPTIONS NOXWAIT NOXSYNC;
X "Ms-Wordのパス+WINWORD.EXE" "WORDファイルのパス+file名.doc” /m”マクロ名”;
MS-EXCELを起動する
OPTIONS NOXWAIT NOXSYNC;
X "Ms-Excelのパス+EXCEL.EXE" "Excelファイルのパス+file名.xls”;
|
|
|
|
|
SAS社FAQサイト Technical Support Frequently Asked Questions に記載があります |
|
|
|
|
SAS社FAQサイト Technical Support Frequently Asked Questions に記載があります |
|
|
|
|
データの読込みに際して、INFILE にて絶対パスを指定することが必要であるが、プログラムの始めにX
コマンドを用いて、current directory を指定することで相対パスの指定のみでデータを読込むことができる。
X ’CD [基準ディレクトリの絶対パス] ’
; |
|
|
|
|
SAS社サイト Customer Support / Technical
Support に記載があります |
|
|
|
|
SAS社FAQサイト Technical Support Frequently Asked Questions に記載があります |
|
|
|
|
実行ステートメント
パス\sas.exe -SYSIN プログラムファイルのパス
<その他のオプション>
オプション:
-SYSIN プログラムファイルのパスとファイル名
-LOG ログファイルのパス、またはパスとファイル名
-PRINT アウトプットファイルのパス、またはパスとファイル名
-NOSPLASH SAS起動時に表示されるスプラッシュウィンドウを表示しない
-ICON バッチ実行中に表示されるウィンドウをアイコン化する
※ファイル名を指定しない場合、ログとアウトプットのファイル名はそれぞれ「プログラム名.log」「プログラム名.lst」になる。
-LOGオプション、-PRINTオプションを指定しない場合、ログとアウトプットのファイルは、
プログラムファイルが保存されているフォルダに出力される。
例1
"C:\Program Files\・・・・\sas.exe"
-SYSIN "C:\data\・・・・\Labexam.sas"
-LOG "C:\data\・・・・\saslog" -PRINT
C:\data\・・・・\sasout -nosplash
-icon |
|
|
|
|
DM log 'log; clear' ;
DM output 'output; clear'
; |
|
|
|
|
/* 出力先をc:\sasout\output.lst に変更する
*/
PROC PRINTTO PRINT="c:\sasout\output.lst"
NEW;
RUN;
/* 出力先をOUTPUTウィンドウに戻す */
PROC PRINTTO;
RUN;
SAS Technical SUPPORT に詳細な記載があります |
|
|
|
|
[マクロ定義]
%macro now;
options nodate;
data _null_;
date=date(); time=time();
call symput("date",put(date,weekdate30.));
call symput("time",put(time,time5.));
run;
%mend now;
[マクロ実行]
%now;
title2 " &time.&date";
proc print data=sasuser.class; run;
SAS Technical SUPPORT に詳細な記載があります |
|
|
|
|
別に登録されているSASプログラムを読み込んで実行します。
複数のSASプログラムを一度のサブミットで順に実行する場合等に使用します。
例:c:\saspgmフォルダにあるプログラム contents.sas、print.sas、means.sasを順に実行します。
SOURCE2は、ログにプログラムソースを出力させるオプションです。
FILENAME saspgm 'c:\saspgm';
%INCLUDE saspgm(contents.sas print.sas
means.sas) / SOURCE2; |
|
|
|
|
SASプログラム中の任意の位置でPUTステートメントを指定して、その時点での変数の値などをLOGウィンドウに出力することができます。
PUT varname ; /*変数 varname の値を出力する*/
PUT varname= ; /* 変数 varname の値を「varname=xx」の形式で出力する*/
PUT _ALL_ ; /*プログラムデータベクトル(PDV)で管理しているすべての変数を出力する
(_ERROR_、_N_ を含む)*/
PUT 'char-string' ; /*引用符内の文字列を出力する*/
PUT _INFILE_ ; /* 外部ファイルのデータをそのまま出力する*/
SAS Technical News に記載があります
その2
DATAステートメントに「/DEBUG オプション」を指定して実行すると、DATAステップデバッガが起動されます。
DATA dataset-name /DEBUG;
DATAステップデバッガは、記述したプログラムを1行ずつデバッグします。 |