全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3067 7
2014-12-13
如题,我现在有两组文件,一组文件命名为X1,X2,X3,。。。。X124,另一组文件命名为C2,C3,C4,。。。C124,我现在希望把X1和C2 merge成一个数据集命名为out1,X2和C3 merge成一个数据集命名为out2,以此类推,想了半天不知道该如何用宏实现啊。。。请给位高手赐教,下面是我的一个初步想法(这是错的):

复制代码
这样做只能实现X1和C1这样的merge,不能实现我的,我估计是不在这个的基础上改改就能实现呢。。。。求各位小伙伴只招!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-13 17:35:39
自己顶,求助我的牛X好友们及各路大神![cry][cry]
二维码

扫码加我 拉你入群

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

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

2014-12-13 19:21:55
刚刚理解题目错了,这回应该能回答楼主的问题
复制代码


二维码

扫码加我 拉你入群

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

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

2014-12-13 20:07:30
%macro clean(first=,last=);
%do num= &first %to %eval(&last-1);
%let num1=%eval(&num+1);
data out&num.;
merge c&num  x&num1;
by id1;
run;
%end;
%mend clean;

data c1;
id1=1;x=1;
data c2;
id1=1;x=2;
data c3;
id1=1;x=3;

data x1;
id1=1;y=1;
data x2;
id1=1;y=2;
data x3;
id1=1;y=3;
run;

%clean(first=1,last=3);
二维码

扫码加我 拉你入群

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

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

2014-12-13 21:05:46
就喜欢马 发表于 2014-12-13 19:21
刚刚理解题目错了,这回应该能回答楼主的问题
多谢高手!已验证,解决了我的问题,请教下这里eval这个函数是什么意思?本想评分,发现没论坛币。。。
二维码

扫码加我 拉你入群

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

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

2014-12-13 21:07:12
ziyenano 发表于 2014-12-13 20:07
%macro clean(first=,last=);
%do num= &first %to %eval(&last-1);
%let num1=%eval(&num+1);
多谢老朋友!就是这个eval解决了问题啊!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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