Schleife in data-set Befehl

Hallo zusammen,

wie kann ich folgendes elegant mit einer Schleife lösen?

data M1;
set Daten.Datensatz_0901; run;

data M2;
set Daten.Datensatz_0902; run;

...

data M12;
set Daten.Datensatz_0912; run;

Vielen Dank schonmal vorab!

SAS-Macro

Hallo,

wenn bekannt ist wie viele Dateien es werden sollen, ist es am einfachsten mit einem Macro zu machen.

%MACRO read_data;

%LET anz_data = 12; /* Hier wird die Anzahl der zu lesenden Dateien eingetragen */

%DO i = 1 %TO &anz_data;

DATA M&i;
set daten.datensatz09&i;
RUN;
%END;

Wenn führende Nullen zu berücksichtigen sind wäre es wie folgt:

%MACRO read_data;

%LET anz_data = 12; /* Hier wird die Anzahl der zu lesenden Dateien eingetragen */

%DO i = 1 %TO &anz_data;

%IF &i < 10
%THEN %DO;
DATA _null_;
i = "&i";
j = "0" !! COMPRESS(i);
CALL SYMPUT('j',j);
RUN;
%END;

DATA M&i;
set daten.datensatz09&j;
RUN;
%END;

%MEND;

%read_data;

Ich hoffe das hilft etwas.

Viele Grüße
BIGAIRFOX

Vielen Dank

Vielen Dank,
genau das hab ich gesucht.

führende Nullen geht auch einfacher

%MACRO read_data;

%LET anz_data = 12; /* Hier wird die Anzahl der zu lesenden Dateien eingetragen */

%DO i = 1 %TO &anz_data;

DATA M&i;
set daten.datensatz09%sysfunc(putn(&i.,Z2.));
RUN;
%END;
%mend;

VG Guido Stosnach