12.07.2015 Aufrufe

SAS-Makro-Programmierung: - Urz

SAS-Makro-Programmierung: - Urz

SAS-Makro-Programmierung: - Urz

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • 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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!