全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2544 3
2011-06-03
想使用SAS宏做如下的工作:
  对一个文件夹下的所有数据集,进行变量重命名(rename)排序(retain)删除重复观测和一些特定的观测
  之后用set把它们合并起来
  求高手指点哈
  O(∩_∩)O谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2011-6-3 10:15:50
也在学习宏呢
二维码

扫码加我 拉你入群

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

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

2011-6-3 12:46:20
1# JasonKQiao
data a;
input a1-a3;
datalines;
1 2 3
3 5 2
1 2 3
4 6 7
;
run;
data b;
input b1-b2;
datalines;
3 6
4 5
3 6
1 2
;
run;

%macro reset(lib=);
proc contents data=&lib._all_ out=sasuser.list;
run;
proc contents data=sasuser.list varnum; run;
proc sql;
select distinct memname into : ds separated by
' ' from sasuser.list;
select max(varnum) into : varnum separated by
' ' from sasuser.list group by memname;
quit;
%let number=1;
%do %while (%scan(&ds,&number) ne );
%let dataset=%scan(&ds,&number);
proc sort data=&dataset out=&dataset nodup;
by _all_;
quit;
%let vn=%scan(&varnum,&number);
%do i=1 %to &vn;
proc sql;
select name into : name from sasuser.list where memname=
"&dataset" and varnum=&i;
quit;
proc datasets library=&lib;
modify &dataset;
rename &name=var&i;
quit;
%end;
%let number=%eval(&number+1);
%end;
data combine;
set a b;
run;
%mend;
%reset (lib=WORK);
二维码

扫码加我 拉你入群

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

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

2011-6-3 14:49:47
保存下来。算作资料吧。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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