SAS:分配一个宏

时间:2016-08-31 22:08:24

标签: macros sas

如何将包含字符串的变量分配给宏? 我在下面的代码评论中提出了我的问题:

%let HOLD_MONTHS=1; 

data _null_;
if &HOLD_MONTHS=1 then hold='h1m';
*temp='model_h1m';
temp=catx('_','model',hold);
*how to assign 'model_h1m to the macro a?;
%let a = %str(temp );
run;
*now the following print "temp";
%put &a;

1 个答案:

答案 0 :(得分:1)

您可以使用call symput在数据步骤中指定变量的值,例如:

%let HOLD_MONTHS=1; 

data _null_;
if &HOLD_MONTHS=1 then hold='h1m';
temp=catx('_','model',hold);
call symput('a',temp);
run;

%put &a;