Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
Occasional Contributor
Beiträge: 13
Was mach ich falsch mit der prefix range?

Hallo zusammen,

 

ich bräuchte Hilfe bei einer Fehlersuche. Ich habe ein Dataset mit 492 Variablen, davon beginnen 490 mit "med_" und 2 heißen komplett anders und ich wollte den 490 med_-Variablen gerne mit Hilfe der prefix range (also die Nennung des Präfixes med mit der Kennzeichnung : als Präfix) das vorher definierte Format jn. zuweisen; allerdings bekomme ich nicht das gewünschte Ergebnis und ich weiß nicht warum.

Im Moment ist das Ergebnis, dass der DataStep einfach ohne weitere Fehlermeldung o.ä. ausgeführt wird, aber eben auch ohne dass meine med_-Variablen das Format jn. erhalten. Wenn ich aber testhalber mal zwei Variablen ausschreibe und das prefix range weglasse, erhalten die beiden Variablen ganz wunderbar das jn.-Format.

Kann mir jemand einen Tipp geben, woran das evtl. liegen könnte?

 

Hier mein Code:

PROC FORMAT lib=pfad.formats;
	value	jn 0='nein'
		   1='ja';
RUN;

DATA atc_med_2;
	format	med: jn.;
	set work.atc_med;
RUN;

Vielen Dank für Eure Hilfe.

Barbara

 

PS : Ich arbeite auf der Version 9.3

Trusted Advisor
Beiträge: 1.115
Betreff: Was mach ich falsch mit der prefix range?

Hallo Barbara,

 

SET- und FORMAT-Statement zu vertauschen, sollte bereits die Lösung sein. Die Range bezieht sich auf die Variablen im Program Data Vector (PDV). Der erhält die Variablen aus WORK.ATC_MED aber erst durch das SET-Statement.

Occasional Contributor
Beiträge: 13
Betreff: Was mach ich falsch mit der prefix range?

Hallo Reinhard,

 

vielen Dank für die schnelle Antwort und vor allem auch für die Erklärung! (Mit Vertauschen funktioniert es.)

 

Viele Grüße

Barbara