2009-07-13 7 views
3

このエラーメッセージの意味を知っている人はいますか?SASエラーメッセージ(致命的:スミアの誤生成中にコード生成エラーが検出されました)

致命的:誤ったスミア生成中にコード生成エラーが検出されました。

約40のデータセットを連結している間に発生します。私は

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 
+0

AFHoodによれば、それは記憶上の問題であり、あなたの最善の策は問題を再加工することです。あなたがそれを再作成できない場合は、-memsize 0オプションを使用してSASを起動してください(使用可能な場合) – cmjohns

+0

合意 - データセットの半分をkeep =良い。 memsizeのヒントをありがとう。 –

+0

テスト/開発の目的で 'data-set-option'として'(obs = 10000) 'を試すこともできます。通常は 'KEEP ='よりも書く方が簡単です – JustinJDavies

答えて

1

だけの時間を(ログファイル)...それは(217年ごろ)あまりにも多くの変数を持っていることから、メモリの制限を打つが原因である可能性がありますが、これの確認を得るために良いだろうと信じてこのエラーはメモリの制限に関するものです。

データセットの量をサブセット化し、再度処理しようとすることが証明されます。特定の限度まで成功すれば、問題は明らかです。

コードに基づいて、すべてを1つのステップで処理するのではなく、データセットをループします。これはあなたの記憶上の問題も避けるべきです。

関連する問題