ich für eine Weile ein Äquivalent des für in Schleife (wie in Python oder R) in SAS 9.3 Makrosprache zu suchen. Die DO loop scheint die Lösung zu sein, hat aber nicht genau so funktioniert, wie ich es möchte. Ich gründete eine Möglichkeit, es in einem Datenschritt mit einer DO-Schleife zu tun, aber es funktioniert nicht mit der Makro-Sprache. Zum Beispiel wird in einem Daten Schritt, dieser Code arbeitet:"Für in" loop äquivalent in SAS 9.3
DATA _NULL_;
DO i = 1,3,5,9;
PUT i;
END;
RUN;
Und dann, als die Log-Prompt erwartet:
1
3
5
9
Wenn ich versuche, das gleiche mit einem % DO Schleife zu tun In einem Makro habe ich einen Fehler.
%MACRO test();
%DO i = 1,2,4,9 ;
%PUT i = &i;
%END;
%MEND;
%test();
Das Protokoll promp diese Meldungen:
ERROR: Expected %TO not found in %DO statement.
ERROR: A dummy macro will be compiled
ich in SAS ganz neu bin und so hoffe ich, Stackoverflow meine Frage nicht zu dumm ist. Es ist so einfach, dies in Python und R zu tun, dann muss es eine einfache Möglichkeit haben, dies in SAS zu tun.
Dankten um Hilfe - J. Muller
Ich habe es versucht und es funktioniert perfekt. Es ist nicht so einfach wie Python oder R-Syntax, aber es funktioniert auch gut mit Zeichenliste. Vielen Dank! – jomuller