【发布时间】:2010-11-10 06:56:10
【问题描述】:
有人知道这个错误信息是什么意思吗?
致命:在 MISSING 涂片生成期间检测到代码生成错误。
它在连接大约 40 个数据集时发生。我相信这可能是由于有太多变量(大约 217)而达到了内存限制,但最好能得到确认......
(日志文件)
301 Data &dsn.&pfix.;
302 set &setlist.;
303 if SPCODE > 50 then delete;
304 * these SPCODES are subtotals ; run;
FATAL: Code generation error detected during MISSING smear generation.
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.XXXXXX may be incomplete. When this step was
stopped there were 0 observations and 217 variables.
NOTE: DATA statement used (Total process time):
real time 10.58 seconds
cpu time 1.76 seconds
【问题讨论】:
-
正如 AFHood 所说,这是内存问题,最好的办法是重新解决问题。如果您无法重做,请尝试使用 -memsize 0 选项启动 SAS,以允许 SAS 使用更多内存(如果可用)
-
同意 - 我们在一半的数据集上使用 keep= 重新运行了该步骤,并且效果很好。感谢 memsize 提示..
-
您也可以尝试将
(obs=10000)作为data-set-option用于测试/开发目的。通常比KEEP=更容易写
标签: sas fatal-error datastep