初めての環境でSASを使うとき
その環境でのSASのスペックを調べるのに、100万とか1000万回のループでoutputさせて
どれくらい処理時間かかるかを見て、目安にするのですが、結構古いPC環境だと
想像以上にかかってしまって、待ちぼうけになってしまうことがあります。
そこで逆に、5秒間でどれぐらいオブザベーションを作成できるかで比べるようにしました。
そしたら絶対に5秒ちょいで結果がわかるので。
ループの終了条件に、時間間隔を使ったプログラムを書くことはSASを使う開発では
通常少ないと思うので紹介します。
data A;
STTIME=datetime();
do while (datetime()-STTIME<5);
X=1;output;
end;
run;
datetime()は現在の日時をとる関数で、まずループに入る前に割り当てステートメントで
格納しておいて、そこからループ開始時点の日時と比較してその差が5秒未満である場合
に実行します。
0 件のコメント:
コメントを投稿