ログ出力のスクロール頻度を変更

[OS] ALL
[リリース] 8.2
[キーワード] LOG, SCROLL, AUTOSCROLL

[質問]

ログウィンドウへの出力の際、自動スクロール頻度を変更することはできますか?

[回答]

コマンドバーまたはコマンド行でAUTOSCROLLコマンドを実行することで、スクロールの頻度を変更することが可能です。コマンドの構文は、以下のとおりです。


AUTOSCROLL n

nには、受け取ったデータ行がウィンドウ内に収まらないときにスクロールする行数を指定します。

自動スクロール頻度を少なくすれば、プログラムの実行速度が向上します。n の値を0に設定すると自動スクロールを行なわず、処理終了後に一括してスクロールされます。
また、n を1に設定すると1行づつスクロールされるため、処理時間は長くなりますが、実行中のプログラムの状況をログウィンドウで確かめることができます。

次の例では、DMコマンドを使用して、プログラム上からAUTOSCROLLコマンドを発行しています。


DM LOG 'AUTOSCROLL 0';             /* AUTOSCROLLを0に設定します */

DATA _null_;
  DO i=1 TO 10000;
    PUT i 5. +10 i WORDS50.;  /* ログウィンドウに値を出力します */
  END;
RUN;

同様の処理をデフォルトの状態で行なった場合の処理時間と、AUTOSCROLLコマンドを発行した場合の実行結果を比較すると、下記のようになります。

■ デフォルトの場合
  NOTE: DATA ステートメント 処理 :
         処理時間            1.92 秒
         CPU 時間            1.92 秒
■ AUTOSCROLL=0 を発行した場合
  NOTE: DATA ステートメント 処理 :
         処理時間            0.04 秒
         CPU 時間            0.04 秒

※ 注1 AUTOSCROLLのデフォルト値は、オペレーティングシステムにより異なります。
UNIX版SAS 8.21
Windows版 SAS 8.2 LOGウィンドウのデフォルトサイズ(行数)の1/2の値(LOGウィンドウのデフォルトサイズはディスプレイの解像度により異なる)。
実際の値は、メニューバーで[ツール] → [オプション] → [プリファレンス]の[詳細]タブにて、[ログ]の項をご確認ください。

※注2 処理時間は参考値です。お使いの環境により異なります。