为什么我的宏变量不能解决?我有一个宏变量,&myvar但是当我尝试将它放入数据步变量时它不会解析。为什么不呢,我该怎么做才能解决这个问题呢?%let myvar=Hello, world;data _null_;
x='&myvar.';
put x=;run;
2 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
SAS中的宏变量在单引号中时无法解析'&myvar'
。它们需要用双引号,"&myvar"
以便妥善解决。
如果你需要单引号和已解析的宏变量,你有几个选项,但最简单的是:
%str(%'&myvar.%')
该%'
内%str
将放置在文本字符串中的单引号字符(或撇号)本身,而不会导致其被引用。
data _null_; x="%str(%'&myvar.%')"; put x=;run;
要么
%let myvar2 = %str(%'&myvar.%');
陪伴而非守候
TA贡献1757条经验 获得超8个赞
在某些情况下,创建一个比其他问题复杂度更低的“虚拟”问题更容易,但仍会回答经常出现的问题,然后将其用作复制品。“虚拟”问题在技术上应该仍然是一个好问题(因为这是),但当然不是要求查找信息的目的:)
添加回答
举报
0/150
提交
取消