我有一个宏变量, &myvar
,但是当我试图把它放在一个数据步变也不会解决。 为什么不会呢,我能做些什么来解决这个问题?
%let myvar=Hello, world;
data _null_;
x='&myvar.';
put x=;
run;
我有一个宏变量, &myvar
,但是当我试图把它放在一个数据步变也不会解决。 为什么不会呢,我能做些什么来解决这个问题?
%let myvar=Hello, world;
data _null_;
x='&myvar.';
put x=;
run;
当他们在单引号,在SAS宏变量不会解决'&myvar'
。 他们需要用双引号, "&myvar"
,以妥善解决。
如果你需要有单引号和解决宏观变量,你有几种选择,但最简单的是:
%str(%'&myvar.%')
在%'
内部%str
将放置在文本字符串中的单引号字符(或撇号)本身,而不会导致其被引用。
data _null_;
x="%str(%'&myvar.%')";
put x=;
run;
要么
%let myvar2 = %str(%'&myvar.%');