查找SAS宏的位置

时间:2016-08-19 04:04:49

标签: sas

我一直在浏览其他人编写的SAS代码,这些代码引用了大型企业网络中的大量文件夹中的宏,我并不知道这些功能中有多少是这样做的。有没有办法找到SAS找到单个函数的代码的位置。

因此,如果我输入一个宏名称而不是执行宏的指令,它会告诉我代码所在位置的文件路径。

由于

3 个答案:

答案 0 :(得分:2)

  1. 您可以检查此代码中是否包含使用宏程序引用外部文件的任何%include语句。
  2. 如果代码使用自动编译,那么设置MAUTOLOCDISPLAY应该有助于找到宏被加入和编译的位置。
  3. 您的程序可以选择调用已编译的宏。然后opton SASMSTORE指向编译宏的位置。

答案 1 :(得分:1)

在运行任何宏之前,在代码顶部运行option mautolocdisplay;。这应该在日志中指出每个编译自己的autocall文件夹。

http://support.sas.com/documentation/cdl/en/mcrolref/62978/HTML/default/p04o0tz0t7g88in1mqlh27hj7wgn.htm

这对存储的编译宏或通过%include编译的宏没有帮助,但它是一个开始。

答案 2 :(得分:0)

如果您想在没有实际运行这些宏的情况下解决这个问题,可以通过以下方式手动检查SASAUTOS中指定的位置:

%put %sysfunc(getoption(sasautos));

这对于%inc,本地定义的(在程序中)宏,自动执行中设置的宏或存储的编译宏无效。

如果您正在寻找一种方法来自动告诉您哪个目录包含相关的宏(假设它们是通过sasautos提供的),您可以编写一个例程,使用here给出的答案检查上述每个文件夹作为十人的首发。