楼主: stayhungry05
1923 2

请教一个宏变量赋值的问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:490份资源

硕士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
515 个
通用积分
3.5512
学术水平
6 点
热心指数
13 点
信用等级
11 点
经验
1881 点
帖子
82
精华
0
在线时间
85 小时
注册时间
2014-10-8
最后登录
2018-8-3

楼主
stayhungry05 发表于 2016-1-17 13:58:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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不相等?
二维码

扫码加我 拉你入群

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

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

关键词:宏变量赋值 symput Data null call null

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

你可以在data步外加上:%put &a;
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
stayhungry05 + 1 + 1 + 1 + 1 精彩帖子
木叶知秋 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

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

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

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 14:18