News Artikel Foren Join Projekte List Links Random Über Redscope Previous Next Startseite › Foren › Allgemeine Fragen zu SAS Erstellen von nachträglichen Hochkommas einer Text-Markovariable. 13 September, 2010 - 13:50 — Marican Hallo! Ich möchte gerne ein Makrovariable erstellen deren Inhalt einer bereits existierenden Makrovariable gleicht, allerdings in Hochkommas steht. Für Zahlen klappt das mit dem Code unten, allerdings wenn der Inhalt ein String ist (in diesem Fall "Name"), interpretiert SAS den Inhalt immer als Feldnamen und nicht als Wert... Siehe hierzu Auszug aus dem LOG bei Ausführung des _null_ datasteps: NOTE: Variable NAME is uninitialized. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds Grund für die neue Makrovariable ist, dass ich diese gerne als Konstante in einem SQL verwenden möchte. (Auf die Tabelle Test wird in diesem Bsp. nur aus kompilierungsgründen zugegriffen) %let Typ_N = NAME; %let Typ_Z = 1234; data _null_; call symput('Typ1' ,cat("'", &Typ_N. ,"'")); call symput('Typ2' ,cat("'", &Typ_Z. ,"'")); run; data test; test = &Typ1.; test2 = &Typ2.; run; proc sql; create table SQL_test as select &Typ2. as String, &Typ1. as Zahl from test; quit; Kann mir jemand sagen, wie ich die "Text"-Makrovariable mit Hochkommas erstellen kann? Vielen Dank im Voraus! Björn Foren: Allgemeine Fragen zu SAS Log in or register to post comments %let Typ1="&typ_n."; 13 September, 2010 - 14:03 — Muschik %let Typ1="&typ_n."; Log in or register to post comments Danke! 13 September, 2010 - 14:33 — Marican Manchmal sind die Lösungen so einfach... Vielen Dank! Björn Log in or register to post comments Hochkommas in einer Macrovariablen Hallo Marican, hier die Lösung : %let Typ_N =NAME; %LET typ3=%str('&typ_n'); data test; ATTRIB test3 LENGTH=$6; test3 = "&typ3."; run; 1. Sonderzeichen bleiben durch %str erhalten. 2. Nichtnumerischeb Werte vorher definieren. Gruß Peter Log in or register to post comments 13 October, 2010 - 06:41 — pitlorenz