2

Enterprise Guide 4.2 を使用しています (選択の余地はありません)。

PROC APPEND を使用して、SQL Server テーブルに約 80k+ の観測を追加しています。データの形式に問題があると思いますが (可変長の不一致など)、正常に実行され、テーブルが更新されます。次に、Enterprise Guide から次のメッセージが表示されます。

ログ(af771r01(プロセスフロー))の内容が大きすぎて表示できません。ウィンドウは閉じますが、内容はプロジェクトに残ります。

ログをダミー ファイルにリダイレクトすることで、ログを正常に無効にすることができました。

** The Append Proc below outputs 80k+ lines (in theory) to the log, crashing EG 4.2;
** This statement will temporarily disable logging;
FILENAME JUNK DUMMY;
PROC PRINTTO
     LOG=JUNK;
RUN;

** ========================================================
** Archive Summarized Enrollment Data
** ========================================================;
PROC APPEND BASE = Archive.MnthlyMbrCmpArch (
                       SASDATEFMT=(SYS_SRC_LOAD_DT='mmddyy10.')
                   )
            DATA = Work.R1_MBR_ENRL_ARCHIVE;
RUN;

** Reenable logging;
PROC PRINTTO;
RUN;

これにより、EG がクラッシュするのを防ぐことができますが、すべての警告メッセージとエラー メッセージが失われています。ステートメントをデバッグしようとしているので、警告とエラーが必要です。ログがあふれたくないだけです。

ロギングを完全にオフにせずに部分的に無効にする方法はありますか? または、ログを開かないときに EG がクラッシュしないように、ログをファイルにリダイレクトする方法はありますか?

私は SAS を初めて使用するので、質問に直接答えなくても、どんな提案も歓迎します。

4

2 に答える 2

1

はい、FILENAMEステートメントでパスを指定することにより、ログをファイルにリダイレクトできます (DUMMY存在しないファイルを参照する と言う代わりに)。

FILENAME JUNK 'path/file-name.log';

もちろん、指定した場所への「書き込み」権限が必要です。

于 2013-01-04T17:10:38.480 に答える
1

以下を使用して、ログから多くの情報を抑制することができます。

options nonotes nonotes2;

および/または:

options nomprint nomlogic nosymbolgen nomacrogen; /* IF CODE CONTAINS MACROS */

エラーは引き続き画面に表示されますが、ログをオンに戻さない限り、エラーをデバッグするための情報はほとんどありません。

一部の SAS ドキュメント: http://support.sas.com/documentation/cdl/en/bases/58133/HTML/default/viewer.htm#a001906177.htm

于 2013-01-04T20:13:46.283 に答える