Macros 如何使用连接命名数据集/变量

Macros 如何使用连接命名数据集/变量,macros,concatenation,sas,Macros,Concatenation,Sas,我对SAS 9.2有问题 我正在编写一个简单的宏,它创建数据集,并根据提交的变量和一些其他单词/字母/符号对其命名,例如 %macro example(var1,var2); data &var1 || '_word_' || &var2; a=1; run; %mend; 有人能帮忙吗? 管道仅适用于SAS中的字符串,不适用于SAS宏。所以不要在这里使用它们 SAS宏不会将引号解释为表示字符串,它只会读取引号,因此请省略引号 若要在宏中连接元素,只需将它

我对SAS 9.2有问题

我正在编写一个简单的宏,它创建数据集,并根据提交的变量和一些其他单词/字母/符号对其命名,例如

%macro example(var1,var2);

data &var1 || '_word_' || &var2;
    a=1;    
run;

%mend; 
有人能帮忙吗?

  • 管道仅适用于SAS中的字符串,不适用于SAS宏。所以不要在这里使用它们
  • SAS宏不会将引号解释为表示字符串,它只会读取引号,因此请省略引号
  • 若要在宏中连接元素,只需将它们附加在一起即可
  • 要明确宏变量名称的结束位置,请附加一个点。
这应该起作用:

%macro example(var1,var2);
    data &var1._word_&var2.;
        a=1;    
    run;
%mend; 
  • 管道仅适用于SAS中的字符串,不适用于SAS宏。所以不要在这里使用它们
  • SAS宏不会将引号解释为表示字符串,它只会读取引号,因此请省略引号
  • 若要在宏中连接元素,只需将它们附加在一起即可
  • 要明确宏变量名称的结束位置,请附加一个点。
这应该起作用:

%macro example(var1,var2);
    data &var1._word_&var2.;
        a=1;    
    run;
%mend;