SAS EG中宏功能的自动参数和清晰度显示

时间:2018-05-30 08:24:39

标签: sas enterprise-guide

SAS EG中,有一个简洁的功能,允许人们在输入时查看宏功能的参数及其定义。

例如,如果我执行:

%macro test
(a /* this is a */
,b /* this is b */
);
%put a b;
%mend;

然后输入%test(,弹出窗口会显示“a:this is a”等...

不幸的是,由于某种原因,它似乎只能在当前程序中定义宏功能(所以基本上只在你不需要它的地方,因为在这种情况下它应该是你的头脑中很新鲜)。

  • 有没有办法在其他程序和其他流程中受益于此功能?

  • 更重要的是,如何为存储的编译宏提供此功能?

比如说我在另一个会话中定义了:

options mstored sasmstore=mylib;
%macro test2
(c /* this is c */
,d /* this is d */
) / store source des='show c and d';
%put c d;
%mend;

我想一个解决方法是创建一个宏%redefine_all,它将遍历目录并执行每个存储的宏定义,但这非常难看,我不完全确定我是如何去做的。 ..

1 个答案:

答案 0 :(得分:2)

听起来像是其中一个'的事情。

EG帮助"关于程序编辑" - "使用自动完成功能"规定:

  

程序编辑器还可以阅读您当前的程序并进行建议   这些程序元素的语法:

     

  • 使用%LET语句或SYMPUT CALL例程定义的宏变量   
  • 使用%MACRO语句定义的宏例程   
  • 使用DATA步骤定义的数据集名称   声明

         

    注意:程序编辑器不会自动列出宏   在当前之外定义的变量和例程   文档(例如,外部宏程序,%include文件和   autoexec文件)。