Есть ли способ переименовать одни и те же переменные в нескольких таблицах в ОДНОЙ библиотеке 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;
Это должно работать более или менее мгновенно, так как нужно только изменить метаданные.
person
user667489
schedule
16.09.2016