04.IT Knowledge/SAS

Library search

아주 오래된 미래 2008. 10. 15. 13:48
proc sql;
     CREATE TABLE DD AS
     select *
      from dictionary.members
      where libname in('CVSAG','CVSAP','CVSBN','CVSCZ','CVSDG','CVSES','CVSFS',
                       'CVSHS','CVSIS','CVSMK','CVSPT','CVSRO','CVSSW','CVSUK',
                       'CVSTOT','DAT_VAL');
quit;

%MACRO DIR_CRE (LIBNAME,MEMNAME,Z);
 
PROC CONTENTS NOPRINT DATA=&LIBNAME..&MEMNAME OUT=WORK.&MEMNAME;
RUN;

PROC SQL;
      CREATE TABLE BB AS
   SELECT LIBNAME, MEMNAME, COUNT(NAME) AS CNT
      FROM WORK.&MEMNAME
      GROUP BY LIBNAME, MEMNAME;
QUIT;

PROC APPEND BASE=WRSTEMP.GEN_TABLE DATA=WORK.BB FORCE;
RUN;

%MEND;

DATA _null_;
  if 1=1 then set WORK.DD nobs=obs;
    do z=1 to obs;
      set WORK.DD;
      call execute('%DIR_CRE ('||compress(LIBNAME)||','||compress(MEMNAME)||','||compress(z)||')');
    end;
RUN;