是否有一个程序可以检查一个表是否有 0 个观察值,如果是,则删除它?我认为除了手动检查和删除每个表之外,还有一种更简单的方法。我正在使用循环命令,我用它生成的大多数表都会有数据,但有几个表会有 0 个观察值。
谢谢,如果有人可以提供帮助。
是否有一个程序可以检查一个表是否有 0 个观察值,如果是,则删除它?我认为除了手动检查和删除每个表之外,还有一种更简单的方法。我正在使用循环命令,我用它生成的大多数表都会有数据,但有几个表会有 0 个观察值。
谢谢,如果有人可以提供帮助。
假设您没有任何理由不信任元数据,您可以查看 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;