Sql 如何在SAS中附加所有表及其表名

Sql 如何在SAS中附加所有表及其表名,sql,macros,sas,append,Sql,Macros,Sas,Append,我试图将工作库中的所有表(相同结构)附加到一个数据集中。但是我需要有一个新的列名,它可以指示表名。 我尝试了两种方法: 宏数组和结束: PROC APPEND BASE=_dupout DATA=dup_&dataset. FORCE; RUN; 过程SQL: PROC SQL; SELECT MEMNAME, catx('.', libname, MEMNAME) INTO : MEMNAMES SEPARATED BY ' ' from dictionary

我试图将工作库中的所有表(相同结构)附加到一个数据集中。但是我需要有一个新的列名,它可以指示表名。 我尝试了两种方法:

  • 宏数组和结束:

    PROC APPEND BASE=_dupout DATA=dup_&dataset. FORCE;
    RUN;
    
  • 过程SQL:

    PROC SQL;
       SELECT MEMNAME, catx('.', libname, MEMNAME) INTO : MEMNAMES SEPARATED BY ' '     
       from dictionary.tables
       where libname='WORK';
    quit;
    
    DATA DUP_OUT;
       SET &MEMNAMES.;
    RUN; 
    

  • 但这两种方法我都找不到添加新列(表名)的方法。也许这是一个非常简单的问题?我被卡住了。请帮助…

    非常接近,在SET语句中使用INDSNAME选项

    DATA DUP_OUT;
    SET &MEMNAMES. INDSNAME=SOURCE;
    DSET=SOURCE;
    RUN;
    

    救我的命!!非常感谢您您已经在这里找到了答案: