2016-01-18 2 views
1

Мне нужен общий макрос SAS для удаления всех наборов данных из рабочей библиотеки очистить все имена имен файлов и имени пользователя и удалить определяемые пользователем макросы переменные.sas macro для удаления всех наборов данных из работы lib очистить все имена имен файлов и удалить определяемые пользователем макрокоманды

+0

Постарайся прок удаления для удаления наборов данных –

ответ

1

Вы можете попробовать это:

%macro clearALL; 
/*delete macro variables*/ 
data delete; 
set sashelp.vmacro; 
where scope eq: 'G' and name ne: 'SYS'; 
run; 
data _null_; 
set delete; 
call symdel(name); 
run; 

/*clear libnames and filenames*/ 
libname _ALL_ clear; 
filename _ALL_ clear; 
/*deletes all datasets from work*/ 
proc datasets lib=work kill noprint; 
run; 
%mend clearALL; 
+0

% очистки макро; proc datasets library = work nolist kill; quit; proc sql noprint; \t select unique libname \t в: mylibs, разделенные «clear; libname ' \t from dictionary.libnames \t где libname не в («MAPS», «SASHELP», «SASUSER», «WORK»); quit; libname & mylibs clear; % положить «& mylibs»; proc sql noprint; \t выбрать уникальный fileref \t в: myfiles отделены друг от друга 'clear; filename ' \t from dictionary.extfiles где substr (fileref, 1,1)^=' # '; quit; имя_файла & myfiles; имя файла & mylibs ясно; % положить «& myfiles»; % очистка починки; % очистка; – Apache11