不要解析%substr()返回的宏变量文本和&在开始

时间:2016-08-12 06:37:54

标签: sas-macro

我正在尝试引用宏变量的子字符串。代码是:

%let hola=resuelto!;

%macro prueba(param);
    %let amper=&param;
    %let amper2=%nrbquote(%substr(&param,1,3));
    %put &param;
    %put &amper;
    %put &amper2;
%mend;

%prueba(%nrstr(&hola));

在日志中,我得到了:

WARNING: Apparent symbolic reference HO not resolved.
&hola
&hola
&ho

问题是,我需要amper2字面上指定值&ho,而不是像amper那样做任何解决方案,字面意思是字符串&hola ......任何想法?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

更改

%nrbquote(%substr(&param,1,3))

%qsubstr(&param,1,3)

应该这样做。