是否有一個程序,將檢查一個表是否有0個觀察值,如果是的話刪除它?我認爲除了手動檢查和刪除每個表格之外,還有更簡單的方法。我正在使用循環命令,我用它生成的大多數表格都會有數據,但有幾個會有0個觀察值。SAS刪除表,如果0 Observastions
如果有人可以幫忙,謝謝。
是否有一個程序,將檢查一個表是否有0個觀察值,如果是的話刪除它?我認爲除了手動檢查和刪除每個表格之外,還有更簡單的方法。我正在使用循環命令,我用它生成的大多數表格都會有數據,但有幾個會有0個觀察值。SAS刪除表,如果0 Observastions
如果有人可以幫忙,謝謝。
假設你沒有任何理由不信任的元數據,你可以看看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;
根據你在做什麼,你可能有比循環和創建空表更好的解決方案;通常BY組處理優於循環代碼。 – Joe