BookmarkSubscribeRSS Feed

ログウィンドウがいっぱいになって処理が中断するのを回避する

Started ‎03-13-2018 by
Modified ‎04-19-2018 by
Views 2,367

質問


長いプログラムを実行する際、「ログ WINDOW FULL:ウィンドウのテキスト域が一杯のため削除します」というウィンドウが表示されて、処理が中断します。
これを回避するにはどうすればよいでしょうか。

回答


上記メッセージは、ログの出力行数が、ウィンドウの最大表示行数である99,999行を超えたことを示しています。

この現象を回避するには、下記の3種類の対応法があります。

 

1. PRINTTOプロシジャでログの出力先を外部ファイルに切り替える


PRINTTOプロシジャを使用して、ログの出力先をログウィンドウから外部ファイルに切り替えることができます。
この場合は、行数の制限はありません。

 

 

  /* ログの出力先を外部ファイルに変更 */
  PROC PRINTTO LOG="C:\SASLog\print.log" NEW;
  RUN;

  DATA class;
    SET sashelp.class;
  RUN;

  /* ログの出力先をウィンドウに戻す */
  PROC PRINTTO;
  RUN;

 

 

PRINTTOプロシジャの LOG=オプションに、出力先ファイルのパスまたはファイル参照名を記述します。以降、ログはすべてファイルに記録されます。

 

ログの出力先をウィンドウに戻すには、オプションなしでPRINTTOプロシジャを実行します。これにより、ログの出力先がデフォルト(ウィンドウ)に戻ります。

 

すでに同名のファイルが存在する場合、上書きするにはNEWオプションを指定します(NEWオプションを指定しない場合は、追加出力になります)。

 

 

2. NONOTES, NOSOURCEシステムオプションを指定して出力行数を減らす


プログラムソースやNOTEメッセージの出力が不要な場合は、NONOTES, NOSOURCEシステムオプションを指定して、出力しないようにできます。

 

NOSOURCE ソースプログラムを出力しない
(デフォルトはSOURCE)
NONOTES 「NOTE:」で始まるメッセージを出力しない
(デフォルトはNOTES)

 

 

  OPTIONS NOSOURCE NONOTES;

 

 

デフォルトに戻すときは、「OPTIONS SOURCE NOTES;」を指定します。

 

3. DMSLOGSIZEシステムオプションを指定して、出力行数の制限を拡張する

 

SAS 9.1以降では、SASコンフィグレーションファイルに、
DMSLOGSIZEシステムオプションを指定することで、出力行数の制限を拡張できます。

以下の例では999,999行まで拡張しております。

 

 

-DMSLOGSIZE 999999

 

 

Contributors
Version history
Last update:
‎04-19-2018 02:21 AM
Updated by:

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Article Labels

SAS Support Communitiesのユーザーガイドライン


コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。

詳細を読む

 

SAS Support CommunitiesのFAQ


SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。

詳細を読む

 

質問や意見の投稿と返信方法について


Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。

詳細を読む

Article Tags