删除SAS中具有相同前缀的多个数据集

时间:2016-03-18 14:17:53

标签: sas

我使用宏创建了几百个临时数据集。所有数据集都以相同的前缀开头,' Legal _'在这种情况下。

一旦我合并了数据集,我想删除宏创建的临时表。

  DATA COMBINE_LEGAL_FEES;
    SET LEGAL_:;
  RUN;

如何在不列出每个单独数据集的情况下删除所有临时数据集? '前缀:' DATA步骤中使用的方法在PROC SQL步骤中不起作用。

PROC SQL;
    CREATE TABLE All_Transactions AS
        SELECT
            T1.*,
            T2.LEGAL_FEES

        From CCAREP.SAS_201401TO201602 T1
        LEFT JOIN WORK.COMBINE_LEGAL_FEES T2 ON (T1.ACC_NUM = T2.ACC_NUM)
        ;
    DROP TABLE LEGAL_: ;
QUIT;

有太多临时表可以列出所有临时表。

由于 Suavis

2 个答案:

答案 0 :(得分:6)

proc datasets library=work memtype=data nolist;
    delete legal_:;
run; quit;

答案 1 :(得分:0)

Christos Avrillionis的回答非常优雅,但我仍然想提及dictionary系统表的存在。

PROC SQL;
  CREATE TABLE legal_tables AS
  SELECT
    *
  FROM
    dictionary.tables
  WHERE
    libname = 'WORK' and
    memname like 'LEGAL%'
;
QUIT;

使用此表格列表,您可以使用您想要的任何喜欢的方法开始删除它们。

我家里没有SAS许可证,所以我没有在上面测试过我的代码。