全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2022 5
2013-09-16
请教各位,我写了一个macro,里边是一个循环,但是跑下来发现只有第一次循环里的call symput产生了宏变量,接下来的循环都没有产生宏变量,这是为什么呢?
复制代码


二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-16 21:45:08
你这个例子中,symput会在local创建宏变量,macro run完后宏变量就没了,我估计你说只有第一个循环创建的宏变量是你在run这个macro之前创建的。
二维码

扫码加我 拉你入群

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

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

2013-9-16 22:04:09
尝试检查一下 &&var&i 是否名称没有重复命名;尝试检查下其他的数据集是不是空集。
二维码

扫码加我 拉你入群

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

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

2013-9-17 07:45:09
geniusv 发表于 2013-9-16 21:45
你这个例子中,symput会在local创建宏变量,macro run完后宏变量就没了,我估计你说只有第一个循环创建的宏 ...
多谢提醒,是这个问题!
二维码

扫码加我 拉你入群

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

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

2013-9-17 08:17:03
superyxo 发表于 2013-9-17 07:45
多谢提醒,是这个问题!
在macro里加一个
%global min_&&var&i;
%global max_&&var&i;
就好了
二维码

扫码加我 拉你入群

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

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

2013-9-17 08:45:53
Tigflanker 发表于 2013-9-16 22:04
尝试检查一下 &&var&i 是否名称没有重复命名;尝试检查下其他的数据集是不是空集。
是global和local宏变量的问题,在宏里定义的是local的,跑完就没了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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