SAS-Makro-Programmierung: - Urz
SAS-Makro-Programmierung: - Urz
SAS-Makro-Programmierung: - Urz
- Keine Tags gefunden...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Wollen Sie <strong>Makro</strong>variablen voranstellen, müssen Sie dies folgendermaßen tun:Beispiel: %let prefix=item;var &prefix.1-&prefix.10;Der Punkt beendet die <strong>Makro</strong>-Anweisung und es wird die var-Anweisung var item1-item10erzeugt. Ohne den Punkt sucht der <strong>Makro</strong>-Prozessor nach den <strong>Makro</strong>variablen &prefix1, bzw.&prefix10.Zur Erzeugung eines zweiteiligen <strong>SAS</strong>-Dateinamens sind daher zwei hintereinander folgendePunkte zu verwenden: Einen zum Beenden der <strong>Makro</strong>variablen, den anderen zur Abtrennung desLibrefs vom Dateinamen:Beispiel:%let lref=mein;%let dat=eins;data &lref&dat; erzeugt data meineins;data &lref.&dat; erzeugt ebenfalls data meineins;data &lref..&dat;erzeugt dagegen data mein.eins;2.2.4 Indirekte Zuweisung von WertenBeispiel:Ergebnis:%let device=hp7475a;%let &device=online;%put &device=&hp7475a;hp7475a=onlineDie Zeile %put der &device ist &hp7475a..; liefert der hp7475a ist online, da dieeingesetzte <strong>Makro</strong>variable &device zu hp7475a aufgelöst wird.2.2.5 Das Auflösen von mehrfachen AmpersandsZwei Ampersands (&&) lösen sich zu einem Ampersand (&) auf. Mehrfache Ampersands sindsinnvoll beim Auflösen von Variablen, die einen gemeinsamen Stamm und numerische Endungenhaben.Beispiel:%Let device1=hp7475a;%Let device2=hp7475b;%Let device3=xcolor;%Let device4=ps300;%let n=3;Ergebnis:%put &device&n; erzeugt einen Fehler, da &device nicht referenziert ist.%put &&&device&n; löst zuerst && zu & auf, danach &n zu 3 und letztendlich &device3 zuxcolor.Übungsaufgaben1. Welchen Wert nehmen die Variablen an, wenn Sie die folgenden Anweisungen der Reihe nachausführen? Überlegen Sie sich die Antworten zunächst ohne Zuhilfenahme von <strong>SAS</strong> undüberprüfen Sie danach am Computer, indem Sie die Anweisungen ausführen, ob ihre Antwortenrichtig waren.AnweisungWert10