sas宏从工作库中删除所有数据集清除所有文件名libname语句并删除用户定义的宏变量

sas宏从工作库中删除所有数据集清除所有文件名libname语句并删除用户定义的宏变量,sas,sas-macro,Sas,Sas Macro,我需要一个通用宏SAS从工作库中删除所有数据集清除所有文件名libname语句并删除用户定义的宏变量。您可以尝试以下操作: %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

我需要一个通用宏SAS从工作库中删除所有数据集清除所有文件名libname语句并删除用户定义的宏变量。

您可以尝试以下操作:

%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;

尝试proc delete删除数据集%macro cleanup;proc datasets library=work nolist kill;退出proc-sql-noprint;将唯一的libname选择为:mylibs,以“clear”分隔;libname,其中libname不在“MAPS”、“SASHELP”、“SASUSER”、“WORK”中;退出libname&mylibs清除;%放置&mylibs;proc-sql-noprint;选择唯一的fileref到:myfiles,以“clear”分隔;filename'来自dictionary.extfiles,其中substrfileref,1,1^=;退出文件名&myfiles;文件名&mylibs清除;%放置&myfiles;%修补清理;%清理;