Viele Dateien durch Data Step generieren

Ich muss eine Datei in viele kleine Stücke schneiden, abhängig vom Wert einer bestimmten Variable.
Gibt es die Möglichkeit, es etwas kürzer zu schreiben, als so was?

data datei1 ... datei100;
set datei_ausgang;
if var=wert1 then output datei1;
....;
if var=wert100 then output datei100;
run;

Danke im Voraus.

Vielleicht mit einem Makro

Man kann dafür ein Makro schreiben, wenn man weiß, wie die Zuordnung zwischen den Werten und den Dateien sein soll, das hatten Sie nicht geschrieben. Das folgende Makro erzeugt 100 Dateien und nimmt einfach an, dass alle Datensätze mit wert=1 nach ausgabe1 geschrieben werden sollen, alle Datensätze mit wert=2 nach ausgabe2. Ist natürlich extrem vereinfacht, zeigt aber das Prinzip.

%macro split(data=, anzahl=, out=);
%local i;
data
%do i=1 %to &anzahl; &out&i %end; ;
    set &data;
    select (wert);
%do i=1 %to &anzahl;
        when (&i) output &out&i;
%end;
        otherwise;
    end;
run;
%mend split;

data test;
    
do i=1 to 100000;
        wert=round(ranuni(
0)*100,1);
        
output;
    
end;
run;

options mprint;
%split(data=test, anzahl=
100, out=ausgabe)

Danke schön. Ich probier es

Danke schön.
Ich probier es aus.