|
|
地板

楼主 |
发表于 2007-11-17 22:47:20
|
只看该作者
Re: 求教:一个关于重命名的问题
新手感兴趣尝试 是不是有点繁琐
%macro rname(data,varn,newdata); /*data 原数据集 varn 变量个数 newdata 新数据集*/
data &newdata;
set &data;
%let cf=abcdefghigklmnopqrstuvwsyz;
%do i=1 %to &varn;
%let chr=%substr(&cf,%sysfunc(int(&i/5))+1,1);
%let j=%eval(&i-%eval(%sysfunc(int(&i/5))*5));
%if &j=0
%then
%do;
%let chr=%substr(&cf,%sysfunc(int(&i/5)),1);
%let j=5;
%end;
rename v&i=id&i.&chr.&j;
%end;
run;
%mend;
/*例子*/
data a;
v1=1 ;
v2=2;
v3=5;
v4=74;
v5=7;
v6=5;
v7=9;
v8=4;
v9=9;
v10=5;
v11=69;
v12=5;
run;
%rname(a,12,newa); |
|