Ich möchte ein Programm, das eine Liste von Makrovariablennamen durchläuft und den Wert jeder Makrovariable innerhalb einer% DO-Schleife zurückgibt, anstatt nur den Makrovariablennamen zurückzugeben.SAS-Schleife durch Makrovariablen
%let macro_list = AA BB CC;
%let loop = %sysfunc(countw(¯o_list.));
%let AA = 123;
%let BB = 456;
%let CC = 789;
%macro test();
%do i = 1 %to &loop.;
%let var = %scan(¯o_list.,&i);
%put &var.; /* I want this to return 123 not AA!!!*/
%end;
%mend test;
%test;
Derzeit ist das Makro gibt die Werte von AA, BB, CC anstelle von 123, 456, 789.
ich auch auf andere Wege offen wäre dies umzusetzen. Vielen Dank!
Wenn Sie nach '& var' fragen, wird der Wert von' var' zurückgegeben, der aus der Liste stammt. Fragen Sie nach '&& var.' und es gibt' & AA' zurück, was dann in 123 aufgelöst wird. Google "Auflösung des doppelten kaufmännischen Und-Zeichens SAS" für weitere Informationen. – mjsqu