Bei der Bearbeitung von Textdaten in Base SAS© gibt es zwei ständig wiederkehrende Operationen: das Bereinigen unnötiger Leerzeichen und das Zusammenfügen von Textteilen.
Eine einfache Frage im Forum („Was ist der Unterschied zwischen TRIM und CONCAT?“) warf mehrere wichtige technische Punkte zur Handhabung von Zeichenketten auf.
1. TRIM: Der Leerzeichen-Entferner
In SAS© hat eine Zeichenvariable eine feste Länge. Wenn Sie eine Variable mit 10 Zeichen definieren und das Wort „KATZE“ darin speichern, füllt SAS© die restlichen 6 Zeichen mit Leerzeichen auf. Dies wird als trailing blanks bezeichnet.
Die Funktion TRIM dient dazu, diese nachgestellten Leerzeichen zu entfernen.
Beispiel: Wenn
VAR1den Wert'1234 '(mit Leerzeichen) hat.VAR2 = TRIM(VAR1);ergibt'1234'.
Technische Anmerkung: Wie eine Antwort präzisiert, betrifft
TRIMkeine Leerzeichen vor dem Text (leading blanks). Um Leerzeichen vor und nach dem Text zu entfernen, wurde historischTRIM(LEFT(Wert))verwendet. Heute erledigt die FunktionSTRIPdies in einem einzigen Schritt.
2. Die Verkettung: Der Assembler
Die Verkettung ist der Vorgang, zwei Zeichenketten aneinanderzuhängen.
Hier gab es eine kleine Verwirrung im ursprünglichen Thread. Der Benutzer fragt nach einer Definition der Funktion „CONCAT“.
In Standard Base SAS© gab es historisch keine Funktion, die einfach „CONCAT“ genannt wurde. Die Operation erfolgt über den Operator
||(doppelter vertikaler Balken) oder!!.Die komplexe technische Antwort im Forum (die „Zeichenmatrizen“ erwähnt) bezieht sich auf das Modul SAS©/IML (Matrixsprache), was für die meisten klassischen Benutzer irrelevant ist.
