2016-09-16 142 views
0

是否有一种方法可以在ONE SAS库中的多个表中重命名相同的变量,其中还有其他表没有该表?所有需要重命名变量的表都具有相同的两个字符来启动表名。我已经看到宏在一个数据集中重命名多个变量,但不能重命名多个数据集中的多个变量。任何帮助,如果这是可能的,将不胜感激!在一个SAS库中将多个变量重命名为多个数据集

回答

1

不需要宏。你可以使用call execute和proc数据集一起拉一些东西。例如。

data _null_; 
    set sashelp.vtable end = eof; 
    /*Replace xx with your two-letter dataset prefix*/ 
    where libname = upcase('mylib') and memname eq: upcase('xx') and memtype = 'DATA'; 
    if _n_ = 1 then call execute('proc datasets lib = mylib;'); 
    call execute(catx(' ','modify',memname,'; rename var1 = newvar1 var2 = newvar2; run;')); 
    if eof then call execute('quit;'); 
run; 

因为它只需要修改元数据,所以它应该或多或少即时运行。

+0

谢谢,这个建议工作得很好! – Brad

相关问题