如何将包含字符串的变量分配给宏? 我在下面的代码评论中提出了我的问题:
%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;
答案 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;