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.

6.1 Funktionen zur Bearbeitung von Zeichenketten%index%length%scan%substr%upcase%qscan, %qsubstr%qupcaseFindet das erste Auftreten einer ZeichenketteBestimmt die Länge des ArgumentsSucht nach WortenErzeugt einen SubstringVerwandelt Klein- in Großbuchstabenanalog zu oben, führen aber zusätzliche Quotierungendurch6.1.1 %Index-FunktionDie Funktion sieht nach, ob ein Argument in einer Zeichenkette (Quelle) vorhanden ist, und gibt diePosition, an der sich das Argument zum ersten Mal in der Zeichenkette befindet, zurück. Ist dasArgument nicht in der Quelle enthalten, wird eine 0 zurückgegeben.Syntax:%index(Quelle, Argument);Die Quelle und das Argument können• konstanter Text,• referenzierte <strong>Makro</strong>-Variable• andere <strong>Makro</strong>-Funktion und• <strong>Makro</strong>-Aufrufsein.Beispiel 1: %let a=ein sehr langer Wert;%let b=%index(&a,n);%put I erscheint an Position &b;Ergebnis: I erscheint an Position 3Im Beispiel 2 wird die %index-Funktion dazu benutzt, zu bestimmen, ob ein Datensatz (dsn)permanent oder temporär ist. Es wird überprüft, ob das Argument &dsn einen Punkt enthält. Enthältdas Argument keinen Punkt, so ist die If-Bedingung erfüllt, und der Datensatz wird als temporärerkannt.Beispiel 2:%macro check(dsn);%global name;%if %index(&dsn,.)=0%then %put Der Name des temporären Datensatz ist work.&dsn;%else %put Der Name des permanenten Datensatz ist &dsn;%mend check;Der Aufruf %check(report) liefert den SatzDer Name des temporären Datensatz ist work.report.Der Aufruf %check(daten.report) liefert als Ergebnis den SatzDer Name des permanenten Datensatz ist &daten.report.33

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!