如何在SAS Enterprise Guide中列出所有可用的用户定义宏?

时间:2016-05-10 15:36:18

标签: sas enterprise-guide

在我的主要代码中说我有这个代码块:

%macros hi5;
 %put hi five;
%mend;

%macros helloworld;
  %put hello world;
%mend;

如何在SAS Enterprise Guide中显示如下内容? (通过日志或通过SAS表)

These are the user defined user macros:

hi5
hello world

(目的是让用户能够知道他们已经可以使用哪些宏)。

注意:%put _ALL_仅列出所有宏变量,而不是宏(例如使用%macros and %mend构建。)

3 个答案:

答案 0 :(得分:7)

您可以通过PROC CATALOGdictionary.catalogs到达那里。即使你不知道他们在哪里存储,后者也会有效。

proc sql;
  select * 
    from dictionary.catalogs
    where objtype='MACRO';
quit;

这将包含SASHELP中的预定义宏,您可以使用where libname ne 'SASHELP'排除这些宏。

答案 1 :(得分:1)

使用Enterprise Guide,SAS / Studio或其他新的访问方法运行SAS时,之前显示在WORK.SASMACR目录中的已编译宏现在最终会出现在WORK.SASMAC1中。至少在我探索过的环境中。

答案 2 :(得分:0)

我正在使用proc目录

case