2

我正在使用 Enterprise Guide 4.2(对此没有选择)。

我正在使用 PROC APPEND 将大约 80k+ 观察结果附加到 SQL Server 表中。我认为数据的格式存在一些问题(例如不匹配的可变长度),但它执行得很好并且表已更新。然后,企业指南给了我以下信息:

Log(af771r01 (Process Flow)) 的内容太大而无法显示。窗口将关闭,但内容将保留在项目中。

我能够通过将日志重定向到虚拟文件来成功禁用日志:

** 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/basess/58133/HTML/default/viewer.htm#a001906177.htm

于 2013-01-04T20:13:46.283 回答