【问题标题】:SAS error message (FATAL: Code generation error detected during MISSING smear generation)SAS 错误消息(致命:在 MISSING 涂片生成期间检测到代码生成错误)
【发布时间】: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


【解决方案1】:

我唯一一次看到这个错误是关于内存限制的。

证明是对数据集的数量进行子集化并再次尝试处理。如果您在特定限制之前取得成功,那么问题就会很清楚。

根据您的代码,您将遍历数据集,而不是一步处理所有数据。这也应该避免你的记忆问题。

【讨论】:

  • 你拯救了我的一天,伙计!
猜你喜欢
  • 2013-06-30
  • 1970-01-01
  • 2014-09-10
  • 2015-09-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-04
  • 2019-11-21
  • 1970-01-01
相关资源
最近更新 更多