SAS - 从代码文件中获取行号

时间:2015-11-19 21:39:02

标签: sas

我想在发生某种情况时打印行号(来自SAS程序文件)。如何检索该值并打印出来?

我想做这样的事情:

  File "B.py", line 1, in <module>
    from folder1 import A
ImportError: No module named folder1

1 个答案:

答案 0 :(得分:1)

好的,这是一个想法。首先使用所有断言编写.sas文件。并且每个断言都是一个宏调用,它具有行号的占位符。所以mycode.sas看起来像:

data want;
  set have;
  %assert( (x=y), line=_linenumber_)
  %assert( (a<b), line=_linenumber_)
run;

完成后,您编写另一个读取mycode.sas的SAS程序并编写MyCodeWithLineNumbers.sas,如下所示:

data want;
  set have;
  %assert( (x=y), line=3)
  %assert( (a<b), line=4)
run;

然后提交MyCodeWithLineNumbers.sas。编写读取.sas文件的程序,计算行数并用适当的值替换_linenumber_应该不难。