全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10009 12
2012-10-15
悬赏 10 个论坛币 已解决
有一数据库,变量名没有规律,现想把所有变量(除ID)后面加“_1”,就是由d a b c d e f g h变成id a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1,程序怎样实现?

data a;
input id a b c d e f g h@@;
datalines;
1 2 3 4 5 6 7 8 9 0
1 3 5 5 6 8 0 5 2 3
;
run;

二维码

扫码加我 拉你入群

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

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

全部回复
2012-10-15 17:57:24
复制代码
二维码

扫码加我 拉你入群

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

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

2012-10-15 23:06:03
谢谢,楼上可以解决。
二维码

扫码加我 拉你入群

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

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

2012-10-16 08:01:59
二维码

扫码加我 拉你入群

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

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

2012-10-16 10:57:09
我对宏比较难理解,就这例子,下面程序怎样修改实现?

************************;
***macro definition;
************************;
%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;

*********************************************************************;
*** thanks for  Malcolm's suggestion; proc datasets is more efficient.
***********************************************************************;
proc datasets lib=&dslib ;
  modify  &dsname;
  rename &renamelist;
run;
%mend renamevar;

******************;
*** do it;
*****************;

%renamevar(sashelp,class,pre,suf,3,5);
二维码

扫码加我 拉你入群

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

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

2012-10-16 14:39:18

************************;
***macro definition;
************************;
%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;
quit;
%mend renamevar;

******************;
*** do it;
*****************;
***%rename(库名,dataset,前缀,后缀,startvar,endvar)
%renamevar(work,a,,_1,2,8);
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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