sas - PROC APPEND 大量日志大小导致崩溃 企业指南

标签 sas enterprise-guide

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

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

The contents of Log(af771r01 (Process Flow)) is too large to display. The window will close, but the contents will remain in the project.

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

** 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 新手,愿意接受任何建议,即使它们没有直接回答问题。

最佳答案

是的,您可以通过在 FILENAME 语句中指定路径将日志重定向到文件(而不是使用 DUMMY,它指的是不存在的文件) :

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

当然,您必须对您指定的位置具有“写入”权限。

关于sas - PROC APPEND 大量日志大小导致崩溃 企业指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161388/

相关文章:

database - 在 SAS 中连接来自两个 Oracle 数据库的表

SAS Enterprise Guide 自定义界面颜色

sas - 创建特定的 PROC JSON 层次结构

SAS EG 4.1 代码文件路径

.net - 使用 .NET 的 SAS EG 7.1 自动化

sas - 在 SAS 中获取站点名称

SAS:为什么宏中的 IN 运算符不是默认值?

SAS : keep if exists

sas 输入宏日期,写为 yyyymmdd