2016-09-16 4 views
0

하나의 SAS 라이브러리에있는 여러 테이블의 동일한 변수 이름을 바꾸는 방법이 있습니까? 이름이 바뀌어야하는 변수가있는 모든 테이블에는 테이블 이름을 시작하는 두 개의 동일한 문자가 있습니다. 하나의 데이터 세트에서 여러 변수의 이름을 바꾸고 여러 데이터 세트에서 여러 변수의 이름을 바꾸지 않는 매크로를 보았습니다. 가능하다면 도움을 주시면 감사하겠습니다!하나의 SAS 라이브러리에서 여러 데이터 세트의 여러 변수 이름 바꾸기

답변

1

매크로가 필요 없습니다. call execute와 proc dataset을 사용하여 어떤 것을 끌어낼 수 있습니다. 예 :

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