我使用宏创建了几百个临时数据集。所有数据集都以相同的前缀开头,' 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
答案 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许可证,所以我没有在上面测试过我的代码。