SAS企业指南日志行号没有意义

SAS企业指南日志行号没有意义,sas,enterprise-guide,Sas,Enterprise Guide,在运行程序时,我在日志中收到一条警告,但警告出现的行号没有意义。我复制了下面的部分日志。它说该操作发生在第4229行,但我的代码中只有1500行,警告出现在日志的第1895行。当我的代码中只有1500行时,为什么它告诉我警告发生在第4229行 警告:被零除,结果集为缺失值 计数:出现次数为201 操作:/4229行第11列 操作数:_TEM1001,_TEM1002 _TEM1001 1第201行cols数字 0 0 _TEM1002 1行1列数字 0

在运行程序时,我在日志中收到一条警告,但警告出现的行号没有意义。我复制了下面的部分日志。它说该操作发生在第4229行,但我的代码中只有1500行,警告出现在日志的第1895行。当我的代码中只有1500行时,为什么它告诉我警告发生在第4229行

警告:被零除,结果集为缺失值

计数:出现次数为201 操作:/4229行第11列 操作数:_TEM1001,_TEM1002 _TEM1001 1第201行cols数字

     0
     0
_TEM1002 1行1列数字

     0
     0
语句:在第4228行第245列赋值 警告:被零除,结果集为缺失值

计数:出现次数为201 操作:/4229行第43列 操作数:_TEM1001,_TEM1003 _TEM1001 1第201行cols数字

     0
     0
_TEM1003 1行1列数字

     0
     0

如上所述,宏正在为您生成SAS代码,使提交的SAS行数大于代码中的行数

启用MPRINT以查看导致问题的代码。从错误行来看,您似乎正在使用IML。以下是一个例子:

%macro loop_then_error();
%do i=10 %to 0 %by -1;
proc iml;
x = {1 1};
x = (x || x) / &i;
quit;
%end;
%mend;

options nomprint;
%loop_then_error;

options mprint;
%loop_then_error;

是否正在使用宏?如果清除日志,则不会重置日志行号。是的,它在宏中。此程序是我在打开SAS后运行的第一个程序,因此在程序运行之前,日志中不应该有任何其他内容。如果您多次运行宏,则每次运行宏时都会创建新行。如果没有实际的代码,这不是一个真正可以回答的问题。