为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的宏变量不能解决?

为什么我的宏变量不能解决?

BIG阳 2019-07-31 10:42:09
为什么我的宏变量不能解决?我有一个宏变量,&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.%');


查看完整回答
反对 回复 2019-07-31
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

在某些情况下,创建一个比其他问题复杂度更低的“虚拟”问题更容易,但仍会回答经常出现的问题,然后将其用作复制品。“虚拟”问题在技术上应该仍然是一个好问题(因为这是),但当然不是要求查找信息的目的:)

查看完整回答
反对 回复 2019-07-31
  • 2 回答
  • 0 关注
  • 516 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信