全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
924 2
2021-03-31

在用sashelp.cars数据集做练习时遇到了以下问题:想要将每个汽车品牌都创建成一个宏变量,但是使用do循环创建宏变量会报错。请问这个为什么会错,同时创建多个宏变量有更好的解决方法吗,感谢!!!


附件列表
bb.png

原图尺寸 81.7 KB

bb.png

aa.png

原图尺寸 54.19 KB

aa.png

二维码

扫码加我 拉你入群

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

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

全部回复
2021-3-31 22:08:08
j 解析为 1 to       38。所以错了。



%macro makes();

data _null_ ;
        %do j = 1 %to &make_count.;
                %let make_&j. = %scan(&make_list.,&j.,'#');
        %end;
run;

%mend;

%makes()
二维码

扫码加我 拉你入群

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

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

2021-4-1 11:43:36
缘oO来如此0o 发表于 2021-3-31 22:08
j 解析为 1 to       38。所以错了。
果然可以,万分感谢!!!我的理解是:在data步开型代码里j没有正确解析,但在macro里%do与%to之间的j则会被当做宏变量正确解析为1,2,3...38
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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