我一直在浏览其他人编写的SAS代码,这些代码引用了大型企业网络中的大量文件夹中的宏,我并不知道这些功能中有多少是这样做的。有没有办法找到SAS找到单个函数的代码的位置。
因此,如果我输入一个宏名称而不是执行宏的指令,它会告诉我代码所在位置的文件路径。
由于
答案 0 :(得分:2)
%include
语句。MAUTOLOCDISPLAY
应该有助于找到宏被加入和编译的位置。SASMSTORE
指向编译宏的位置。答案 1 :(得分:1)
在运行任何宏之前,在代码顶部运行option mautolocdisplay;
。这应该在日志中指出每个编译自己的autocall文件夹。
这对存储的编译宏或通过%include
编译的宏没有帮助,但它是一个开始。
答案 2 :(得分:0)
如果您想在没有实际运行这些宏的情况下解决这个问题,可以通过以下方式手动检查SASAUTOS中指定的位置:
%put %sysfunc(getoption(sasautos));
这对于%inc
,本地定义的(在程序中)宏,自动执行中设置的宏或存储的编译宏无效。
如果您正在寻找一种方法来自动告诉您哪个目录包含相关的宏(假设它们是通过sasautos提供的),您可以编写一个例程,使用here给出的答案检查上述每个文件夹作为十人的首发。