2016-09-16 11 views
0

同じテーブルを持たない他のテーブルがあるONE SASライブラリの複数のテーブルの同じ変数の名前を変更する方法はありますか?名前を変更する必要がある変数を持つテーブルはすべて、テーブル名を開始する同じ2文字です。私は1つのデータセットで複数の変数の名前を変更するマクロを見たことがありますが、複数のデータセットで複数の変数の名前を変更することはできません。これが可能かどうかについての助けに感謝します!複数のデータセットを1つのSASライブラリで複数の名前を変更する

答えて

1

マクロは不要です。あなたはcall executeとproc datasetsを使って何かを引き出すことができます。例えば。

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

関連する問題