SAS宏执行

SAS宏执行,sas,Sas,我试图在运行时根据提供的输入调用宏 宏执行步骤如下所示 %(&宏观变量) 而宏变量的值将在运行时提供 这是可能的还是有任何方法可以实现这一点?可能还有另一种方法,但您可以在空数据步骤后使用调用执行,如: data _null_; CodeToRun = cats('%',"&MyMacroName"); Call Execute (CodeToRun); run; 有关的一些背景和示例。简单 %macro test(a); %put Test says &a;

我试图在运行时根据提供的输入调用宏

宏执行步骤如下所示

%(&宏观变量)

而宏变量的值将在运行时提供


这是可能的还是有任何方法可以实现这一点?

可能还有另一种方法,但您可以在空数据步骤后使用
调用执行
,如:

data _null_;
    CodeToRun = cats('%',"&MyMacroName");
    Call Execute (CodeToRun);
run;
有关的一些背景和示例。

简单

%macro test(a);
%put Test says &a;
%mend;

%let mymacro = test;

%&mymacro(Hello World);
返回

8239   %macro test(a);
8240   %put Test says &a;
8241   %mend;
8242
8243   %let mymacro = test;
8244
8245   %&mymacro(Hello World);
Test says Hello World