2

是否有一个程序可以检查一个表是否有 0 个观察值,如果是,则删除它?我认为除了手动检查和删除每个表之外,还有一种更简单的方法。我正在使用循环命令,我用它生成的大多数表都会有数据,但有几个表会有 0 个观察值。

谢谢,如果有人可以提供帮助。

4

1 回答 1

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;
于 2013-05-30T19:01:02.913 回答