SAS で ods output するときに解析結果が大量あると、Results のツリー出力に時間がかかることがあります。
Output 画面への出力制御は ods exclude statement で設定出来ますが、ツリー出力の場合は ods results statement で設定できます。
data sim; do rep = 1 to 1000; do i = 1 to 10; y = rand("LogNormal"); output; end; end; run; ods results off; ods exclude all; proc univariate data = sim trim = 1; ods output TrimmedMeans =TM; var y; by rep; run; ods select all; ods results on;
このスクリプトでは、1000 回分のシミュレーションデータを作成し、上下位 1 つずつトリムしたトリム平均を求める処理を行います。
ods exclude, ods results を指定しない場合は、1000 回分の結果出力と、ツリーの生成に時間を要しますが、この設定をしておくと結果とツリーを出力しないようにできるので、無駄な時間がかからない様になります。
追記
2011-05-28 スクリプト下から 2 行目 ods exclude select; → ods select all;