次の問題があります。Enterprise Miner にはいくつかのストリームがあり、それぞれの実行時間がわかるようにしたいと考えています。開始時刻と終了時刻/日付を保存するマクロを作成しようとしましたが、問題は、ノードで定義されたグローバル変数が後続のノードで表示されなくなったことです (ノード内でのみグローバルであり、ノード間ではグローバルではありません)。 )。人々は通常どのように問題を解決しますか? アイデアや提案はありますか?
ありがとう、ウンベルト
次の問題があります。Enterprise Miner にはいくつかのストリームがあり、それぞれの実行時間がわかるようにしたいと考えています。開始時刻と終了時刻/日付を保存するマクロを作成しようとしましたが、問題は、ノードで定義されたグローバル変数が後続のノードで表示されなくなったことです (ノード内でのみグローバルであり、ノード間ではグローバルではありません)。 )。人々は通常どのように問題を解決しますか? アイデアや提案はありますか?
ありがとう、ウンベルト
ログにタイムスタンプを書き出すだけです (EM は、EG や DI と同じ方法でグローバル ログを生成する必要があります)。
次のいずれかを使用します。
data _null_;
datetime = datetime();
put datetime= datetime20.;
run;
またはマクロ言語:
%put EM node started at at %sysfunc(time(),timeampm.) on %sysfunc(date(),worddate.).;
高度にカスタマイズされたメッセージで、正規表現を使用してそれらの文字列を探している SAS のログを読みました。
解決策 2:
その他のオプションは、EM や EG から見えるライブラリにテーブルを作成し、プロセスの最初/最後に sql を挿入することです。
proc sql;
create table EM_logger
(jobcode char(100),
timestamp num informat=datetime20. format=datetime20.);
quit;
proc sql;
insert into EM_logger values('Begining Linear Reg',%sysfunc(datetime()));
quit;
data w;
do i=1 to 10000000;
output;
end;
run;
proc sql;
insert into EM_logger values('End Linear Reg',%sysfunc(datetime()));
quit;
テーブル レイアウトは必要に応じて複雑にすることができ、アクセスできる限り、統計を取得できます。
それが役に立てば幸い