是否有一个程序会检查一个表是否有0个观察值,如果是,那么删除它?我假设除了手动检查和删除每个表之外,还有一种更简单的方法。我正在使用循环命令,我用它生成的大多数表都有数据,但有几个会有0个观察值。
谢谢,如果有人可以提供帮助。
答案 0 :(得分:4)
假设您没有任何理由不信任元数据,您可以查看dictionary.tables:
proc sql;
select memname from dictionary.tables
where libname='WORK' and nobs=0;
quit;
例如,您可以将其拉入宏变量并删除PROC SQL或PROC DATASETS语句中的表。
proc sql;
select memname into :dellist separated by ' ' from dictionary.tables
where libname='WORK' and nobs=0;
quit;
proc datasets nolist;
delete &dellist;
quit;