Ich bin neu in SAS, also entschuldige ich mich, wenn diese Frage zu einfach ist. Ich habe ausgiebig danach gesucht und mir ist nicht klar, wie es weitergehen soll.Initialisierung eines SAS DATA-Sets mit globalen Makrovariablen durch Inkrementierung
Ich versuche, einen neuen SAS-Datensatz mit einem Feature zu initialisieren, das den bereits vorhandenen Makrovariablen var1, ..., varN entspricht. Der Einfachheit halber sei angenommen, dass N im Erzeugungsprozess für diese Variablen bereits als Makrovariable definiert ist. Ich möchte etwas entlang der Linien des folgenden Codes tun, die nicht funktioniert:
%let var1 = 3;
%let var2 = 2.5;
%let var3 = 1;
[...]
%let varN = 2;
Data ABC;
do i = 1 to &N;
x = var&i.;
end;
run;
Ich glaube, eines der Probleme ist, dass im Gegensatz% tun, die „i“ ist kein Makro-Variablen. Ich habe versucht Varianten auf cat (var, i), aber es hat nicht das gewünschte Verhalten, da ich & var & ich lösen möchte. Gibt es eine Möglichkeit, dies in einem DATA-Schritt zu machen?
Vielen Dank, @Reeza. Könnten Sie mir erklären, warum das keine gute Idee wäre? Was wäre ein besserer Ansatz? – Lepidopterist
symgetN - X sollte numerisch richtig sein –
Dank @data_null_, habe ich die Änderungen vorgenommen. – Reeza