これを置く場所はログです。これを目に見えるようにするための多くのトリックが存在します。
- ログは、異なる色で物事を強調方法は、キーワード
NOTE:
、WARNING:
によって駆動され、ERROR:
。もしあなたが少し誤解を招くようなログノートを気にかけなければ、それらをあなたの利点に使うことができます。
- 大量の処理中に余分なログメッセージをオフにするか、別の場所にリダイレクトします。これはマクロ内で行うのが一般的です。このよう
- 使用のもの:
コード:
%put ********************************************************;
%put * ITERATION &i BEGINNING *;
%put ********************************************************;
、それはあなたが求めているものを行うには確かに可能だと述べているすべて。問題は、あなたがそれをどこに見ておくと便利なのかです。
2つの提案。
最初に:ods text
が結果ウィンドウに出力されますが、印刷する必要があります(それだけでは表示されません)。実際にtitle
を使用するのと似ているわけではありません。
%macro test;
%do i=1 %to 10;
ods text="Running &i. Iteration";
proc print data=sashelp.class;
run;
%end;
%mend test;
%test;
同様に、あなたは繰り返し回数を表示する結果エクスプローラウィンドウを取得するためにods proclabel
を使用することができます。
%macro test;
%do i=1 %to 10;
ods proclabel="&i. Iteration";
proc print data=sashelp.class;
run;
%end;
%mend test;
%test;
私は後者がもっと好きです。何が起こっているのかを簡単に確認できます。
しかし、どちらも大きな制限があります。マクロが実行されている間に何が起こっているのかを一般的に見ることはできません。 のために何か必要があります目的私は、SAS環境外のファイルを更新すると思われます。ログ以外のものは、IDEがSASのことを考えている間に、しばしば「凍結」されます。
これを「私たちがどれだけ遠くにいるか」のようなものとして使用することを目指すなら、いくつかの選択肢があります。
まず、SAS/AFウィンドウでこのトリックを行う可能性があります。例についてはAster, NESUG '92を参照してください。
第2に、ファイルに書き込みます。
filename monitor "c:\temp\monitor.dat";
%macro test;
%do i=1 %to 100;
data _null_;
file monitor mod;
put "Iteration &i started";
run;
*... do stuff ...;
%end;
%mend test;
%test;
これは基本的には独自のセカンダリログを作成することです。このログは、ここではおそらく最良の妥協のようです。 SYMBOLGENをオンにすると、ログに同じ情報が表示されます。
出典
2016-03-22 15:42:59
Joe
どのような環境でSASを実行していますか? PC SASまたはEnterprise GuideまたはSASスタジオまたは...? – Quentin
PC SASのバージョンはSAS 9.4 – fly36