|
|
DOWNLOADプロシジャで転送するオブザベーション数の上限を設定
[OS]ALL
[リリース] 6.07, 6.08, 6.09, 6.10
[キーワード] connect, download, observation, obs=, data, step, macro
[質問]
オブザベーション数が大きいSASデータセットをダウンロードすると時間がかかります。
[回答]
DOWNLOADプロシジャで、OBS= データセットオプションを使う方法が考えられますが、この方法では OBS= に指定した数のオブザベーションがダウンロードされてしまいます。
%macro download(data=,out=,max=);
data _null_;
set &data nobs=cnt;
call symput('cnt',left(put(cnt,8.)));
stop;
run;
%if &cnt <= &max %then %do;
proc download data=&data out=&out;
run;
%end;
%else %put %str(上限値を越えました。);
%mend;
次の例は、リモートホスト側のデータセット『K92』が10,000オブザベーション以上で あった場合、そのデータセットをダウンロードしません。
data k92;
set db2.stock92;
if hi >= 12000;
run;
%download(data=k92,out=K92,max=10000)
このマクロをリモートホスト側のSASマクロ自動呼び出しライブラリへ登録しておくと、何度もマクロの定義をリモート実行することなく、使用することができます。
|
|||||