|
7#

楼主 |
发表于 2012-8-9 10:19:18
|
只看该作者
Re: 不同数据集变量重命名
to gogotiger and other_big_man,
在网上搜索了下,在一篇blog中发现的code,
[code:2mux6t9z]%macro renamevar(dslib,dsname,prefix,suffix,fromnum,tonum) ;
ods listing close;
ods trace on;
ods output variables=varlist ;
proc contents data=&dslib..&dsname;
run;
ods trace off;
ods listing;
proc sql;
select cats(variable,"=","&prefix._",variable,"_&suffix")
into :renamelist separated by " "
from varlist
where num between &fromnum and &tonum;
quit;
proc datasets lib=&dslib ;
modify &dsname;
rename &renamelist;
run;
%mend renamevar;
%renamevar(sashelp,class,pre,suf,3,5);
[/code:2mux6t9z]
此语句有其本身的缺陷,
一是生成的数据集覆盖了原数据集;
二是对字符型变量与数值型变量分开进行了操作,或者说对字符串型没有操作;
[color=#FF0000:2mux6t9z]现有两目的::[/color:2mux6t9z]
一是生成的数据集不能覆盖原数据集;
二是可灵活选择变量类型的;
此外还有想不到的其他灵活操作。
期待各位的回复!! |
|