Daten trennen und exportieren
ETL & Base SAS |
Eingetragen von Feider. | 7 Februar, 2008 - 17:49
Auf Grund eines Merkmals trenne ich einen Datensatz in mehrere Dateien
DATA _NULL_;
set Work.SMplus end=EOF;
BY Merkmal;
IF FIRST.Merkmal then DO;
FLAG +1;
CALL SYMPUT('var'||LEFT(flag),Merkmal);
END;
IF EOF then CALL SYMPUT('tot',FLAG);
RUN;
%macro groups;
DATA %do i=1 %to &tot;
Out%left(&&var&i)
%end;
;
SET Work.SMplus;
%DO i=1 %to &tot;
IF Merkmal="&&var&i" then OUTPUT Out%left(&&var&i);
%END;
RUN;
%mend groups;
%groups
set Work.SMplus end=EOF;
BY Merkmal;
IF FIRST.Merkmal then DO;
FLAG +1;
CALL SYMPUT('var'||LEFT(flag),Merkmal);
END;
IF EOF then CALL SYMPUT('tot',FLAG);
RUN;
%macro groups;
DATA %do i=1 %to &tot;
Out%left(&&var&i)
%end;
;
SET Work.SMplus;
%DO i=1 %to &tot;
IF Merkmal="&&var&i" then OUTPUT Out%left(&&var&i);
%END;
RUN;
%mend groups;
%groups
Nun möchte ich gern noch diese Einzeldateien in Excel exportieren. Sowohl als Einzeldateien, als auch alle SAS-Dateien in einer Excel-Datei mit mehreren Blättern.
Letztendlich sollen daraus Serienbriefe in Word beliefert werden.
Kann mir dazu jemand weiterhelfen?
Vielen Dank im voraus.
