全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2912 5
2012-04-04
复制代码
上面的第一个例子test会创建X宏变量,但第二个例子不会创建Y宏变量。为什么?请高手指点,谢谢!






二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-4 23:21:07
不是高手.妄言两句:

1.- The fiction of "CALL  SYMPUT (MV, value)" is  to assign a value to a macro variable DURING THE EXECUTION OF A DATA STEP.
2.- Macros consist of collections of regular SAS program statements, macro variables, macro language statements, and macro functions contained within a %MACRO and a %MEND

SO:
3. - 第一个例子test, 因为CALL SYMPUT 在regular SAS step中,故会创建X宏变量,
4. - 但第二个例子test1, CALL SYMPUT 在macro language statements(%DO..%END)中, 故不会创建Y宏变量

The above is my understanding, which is maybe incorrect. - just for your ref.
二维码

扫码加我 拉你入群

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

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

2012-4-5 18:30:10
谢谢你goldbaodi,如果是这样,那请问究竟如何循环call symput()?非常感谢!
二维码

扫码加我 拉你入群

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

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

2019-12-8 12:03:44
请问楼主解决了这个问题吗?
二维码

扫码加我 拉你入群

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

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

2019-12-10 14:28:20
复制代码

这样就可以输出,可能生成了类似局部这样的宏变量
二维码

扫码加我 拉你入群

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

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

2019-12-10 14:28:48
jg.sas 发表于 2019-12-10 14:28
这样就可以输出,可能生成了类似局部这样的宏变量
这也只是猜测
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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