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.
Die Datenschritt-Variable• kann zuvor als Charakter- oder Numerische Variable definiert sein,• wird ansonsten als Charakter-Variable mit Länge 200 definiert,• wird - falls länger - auf 200 Zeichen gekürzt und• wird als Numerische-Variable definiert, falls die symget-Funktion in einen arithmetischenAusdruck eingesetzt wird.Beispiele1. Das Argument ist eine ZeichenketteBeispiel:%let name=recklinghausen;data loc;input land $;stadt=symget('name');cards;Deutschland;proc print;run;Ergebnis: OBS LAND STADT1 Deutschl recklinghausenDer <strong>Makro</strong>variablenname muß in Anführungszeichen eingeschlossen sein.Beachtenswert ist, daß die durch die symget-Funktion referenzierte Datenschrittvariable einenWert mit mehr als 8 Buchstaben (bis zu 200 Buchstaben, recklinghausen=14 Buchstaben)annehmen kann, wobei bei der Variablen land die Eingabe standardmäßig auf 8 Zeichen begrenztist. Dies ist durch die unterschiedlichen Speicher bedingt und kann Probleme mit derSpeicherkapazität verursachen, da jede <strong>Makro</strong>variable standardmäßig mit 200 Zeichen abgelegtwird, auch wenn diese nur 14 Zeichen hat. Durch Vereinbaren eines Input-Formats können sie diesbegrenzen (siehe Beispiel 3).2. Das Argument ist eine DatenschrittvariableBeispiel:%let fluss=arno;%let land=Italien;%let stadt=roma;data loc;input gebiet $ Zahl;name=symget(gebiet);cards;stadt 12land 34fluss 83gebirge 97;proc print;run;Ergebnis: OBS GEBIET ZAHL NAME1 stadt 12 roma2 land 34 Italien3 fluss 83 arno4 gebirge 9744