12.07.2015 Aufrufe

SAS-Makro-Programmierung: - Urz

SAS-Makro-Programmierung: - Urz

SAS-Makro-Programmierung: - Urz

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

• definieren lokale <strong>Makro</strong>variablen, d.h. Variablen, die nur während der Ausführung<strong>Makro</strong>s gültig sind. (Im Gegensatz zu globalen <strong>Makro</strong>variablen, siehe Kap. 4.)des3.3.1 Positions- und Schlüsselparameter<strong>Makro</strong>-Parameter können entweder als Positionsparameter (posparm) oder Schlüssel-parameter(keyparm) übergeben werden. Der wesentliche Unterschied zwischen beiden besteht darin, daß das<strong>Makro</strong> Positionsparameter allein durch ihre Position beim Aufruf erkennt, und Schlüsselparametermit Variablennamen und Gleichheitszeichen aufgelistet werden müssen.Beispiel für Positionsparameter:Beispiel für Schlüsselparameter:%macro name(posparm-1, posparm-2);%macro name(keyparm-1=wert1, keyparm-2=wert2);Die Positionsparameter• erscheinen ohne Gleichheitszeichen,• müssen in der im <strong>Makro</strong>-Aufruf definierten Reihenfolge aufgelistet werden,• haben den Wert Null zum Zeitpunkt der Defintion und können diesen beibehalten, wenn einKomma als Platzhalter beim Aufruf eingesetzt wurde.Die Schlüsselparameter• werden mit einem Gleichheitszeichen aufgelistet,• können in beliebiger Reihenfolge angegeben werden,• können mit Defaultwerten (auch Null) versehen werden und• brauchen beim Aufruf nicht genannt zu werden.Positions- und Schlüsselparameter können auch gemeinsam in <strong>Makro</strong>s auftreten, doch müssen diePositionsparameter zuerst aufgelistet werden.Beispiel 1: %macro print (var1,var2,var3,sds=_last_);proc print data=&SDS;var &var1 &var2 &var3;run;%mend print;Aufruf:%print(albumin,calcium,alter,SDS=co.blutbild);Die Positionsparameter Var1, Var2 und Var3 erhalten die Werte Albumin, Calcium undAlter. Der Schlüsselparameter SDS erhält den Wert co.blutbild. Der Defaultwert ist auf_last_ gesetzt; dies bedeutet, daß automatisch der zuletzt bearbeitete Datensatz verwendet wird,falls im <strong>Makro</strong>aufruf kein neuer Dateiname angegeben wird.Beispiel 2: %macro ttest (var1,var2,classvar,sds);proc ttest data=&SDS;class &classvar;var &var1 &var2 ;run;%mend ttest;Aufruf 1: %ttest (calcium,albumin,pille, co.blutbild);Aufruf 2: %ttest (calcium,,pille, co.blutbild);Im zweiten Beispiel werden die Positionsparameter var1, var2, classvar und sds verwendet.Beim zweiten Aufruf soll der T-Test nur für eine Variable berechnet werden. Um eine13

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!