如果0观察,SAS删除表

时间:2013-05-30 18:55:37

标签: sas

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

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

1 个答案:

答案 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;