Sas: so ändern sie die länge von zeichenvariablen
Der einfachste Weg, die Länge von Zeichenvariablen in SAS zu ändern, ist die Verwendung der ALTER TABLE- und MODIFY- Anweisungen in PROC SQL .
Dazu können Sie die folgende grundlegende Syntax verwenden:
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
In diesem speziellen Beispiel wird die Länge der Zeichenvariablen namens „ team “ im Datensatz „my_data“ auf eine Länge von 4 geändert.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Länge der Zeichenvariablen in SAS ändern
Angenommen, wir haben den folgenden Datensatz in SAS, der Informationen über verschiedene Basketballteams enthält:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;
/*view dataset*/
proc print data =my_data;
Wir können PROC CONTENTS verwenden, um die Länge jeder Variablen im Datensatz anzuzeigen:
/*view length of each variable in dataset*/
proc contents data =my_data;
Die letzte Tabelle des Ergebnisses zeigt die Länge jeder Variablen:
Aus dieser Tabelle können wir sehen:
- Die Punktevariable ist eine numerische Variable mit der Länge 8.
- Die Teamvariable ist eine Zeichenvariable mit einer Länge von 8.
Nehmen wir an, wir möchten die Teamvariable so ändern, dass sie eine Länge von 4 hat.
Wir können dazu die folgende Syntax verwenden:
/*change length of team variable to 4*/
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Wir können sie nutzen, indem wir erneut PROC CONTENTS verwenden, um die Länge jeder Variablen im Datensatz anzuzeigen:
/*view updated length of each variable in dataset*/
proc contents data =my_data;
Die letzte Tabelle des Ergebnisses zeigt die Länge jeder Variablen:
Wir können sehen, dass die Teamvariable jetzt eine Länge von 4 hat.
Es ist zu beachten, dass keiner der Werte in der Teamspalte abgeschnitten wurde, da der längste Teamname eine Länge von 4 hatte.
Wenn Sie jedoch beispielsweise die Länge der Teamvariablen auf 3 geändert hätten, wäre das letzte Zeichen einiger Teamnamen abgeschnitten worden.
Bei dieser Methode wird im Falle einer Kürzung keine Warnmeldung angezeigt. Stellen Sie daher sicher, dass Sie die maximale Länge der Zeichenfolgen in Ihrer Zeichenspalte kennen, bevor Sie diese Methode verwenden.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So extrahieren Sie Zahlen aus einer Zeichenfolge in SAS
So verwenden Sie die SUBSTR-Funktion in SAS
So entfernen Sie Sonderzeichen aus Zeichenfolgen in SAS