33 %macro a(libname=,domain=); %let folder=C:\Users\SAS; filename DIR1 "&folder"; data DT1 ; length VAR $400 ; *** Open directory ; did = dopen("DIR1") ; *** Store filename and label into dataset; do i = 1 to dnum( did ) ; VAR = scan(dread( did , i ),1,'.') ; call symputx(compress('fname'||trim(i)),var); output; end; /* I would like to get dnum(did) here instead of the actual number of 33 */ %do i=1 %to 33; proc transpose data=&libname..&&fname&i (obs=0) out=&&fname&i; var _ALL_; run; data a1 ; length domainkeys $ 400; set &&fname&i end=eof; retain domainkeys ''; domainkeys = trim(domainkeys) ||' '||trim(put(_name_,20.)); if eof then call symputx(compress("&&fname&i"||"KEEPSTRINGfd"),domainkeys, 'G' ); run; %end; %mend;
... View more