Liebe SAS-Community,
ich sitze gerade vor einem SAS-"Problem" und bin auf der Suche nach einer guten Lösungen.
Ich arbeite mit einem Panel-Datensatz der bisher Variablen zu den Jahren 2001 bis 2008 beinhaltet hat. Alle Variablen sind mit dem Präfix vj01 bis vj08 versehen. Viele Stellen in meinem Codeberg greifen auf DO-Schleifen zurück, da sich der Code sich zwischen den Jahren 2001 bis 2008 bis auf das Präfix der Variablen häufig nicht ändert.
Die DO-Schleifen habe ich bisher wie folgt erstellt:
%do i=1 %to 8 %by 1;
vj0&i.VARx = vj0&i.VARy + vj0&i.VARz;
%end;
Nun habe ich einen neuen Datensatz der zusätzlich die Jahre 2009 und 2010 enthält. Für 2010 ist der obige Code nicht zu gebrauchen, da "vj0&i" für 2010 nicht "vj10" sondern "vj010" erzeugt.
Mein bisheriger Lösungsansatz sieht wie folgt aus:
%do i=1 %to 10 %by 1;
%if &i = 1 %then %do; %let vj = vj01; %end;
......
%if &i = 10 %then %do; %let vj = vj10; %end;
&vj.VARx = &vj.VARy + &vj.VARz;
%end;
Hat jemand von euch vielleicht eine bessere Idee?
Viele Grüße
Swen Kuper