首页 > 其他 > 详细

SAS 对数据集所有字段rename

时间:2019-04-18 15:00:56      阅读:226      评论:0      收藏:0      [点我收藏+]
 
 
%macro rnm(data=,out=);

proc contents data=&data

out=t1(keep=varnum name)
     noprint;
run;

proc sql noprint;
select  name
     into :classname separated by‘ ‘
     from t1
     order by varnum;
quit;

%put &classname;

data &out;
set &data;
%let i=1;
%do %until (%scan(&classname.,&i.," ")=);
	%let yn=%sysfunc(compress(%scan("&classname",&i," ")));
	
	rename &yn=C&i;
	%let i=%eval(&i.+1);

%end;

	proc datasets nolist;
	delete t1;
	run;
%mend;

/*调用*/

%rnm(data=test1,out=test2);

/*去除所有label*/

proc datasets lib=output noprint;
        attrib _all_ label=‘‘;
run;

  


  适用于:数据集字段需要批处理,且字段名称无规律,统一rename后方便后续操作。

SAS 对数据集所有字段rename

原文:https://www.cnblogs.com/jiulaosan/p/10729468.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!