全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1857 2
2016-01-17
data _null_;

%let a = 456789;
put "&a";

b=cats("&a", "abc");
put b;

call symputx('a', b);
put "&a";

run;

结果是:
456789
456789abc
456789

请问,为什么最后的a 的值和b不相等?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-1-17 15:21:12
call symputx生成的宏变量&a在当前data step不可调用。

你可以在data步外加上:%put &a;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-17 22:18:00
孤单的我们 发表于 2016-1-17 15:21
call symputx生成的宏变量&a在当前data step不可调用。

你可以在data步外加上:%put &a;
多谢。

又查了下资料,如果需要在当前DATA步内使用symputx定义的宏变量,用symget函数可以做到
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群