Sas: so teilen sie zeichenfolgen nach trennzeichen auf


Sie können die Funktion scan() in SAS verwenden, um eine Zeichenfolge basierend auf einem bestimmten Trennzeichen schnell aufzuteilen.

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: Zeichenfolgen nach Trennzeichen in SAS aufteilen

Nehmen wir an, wir haben den folgenden Datensatz in SAS:

 /*create dataset*/
data my_data1;
    input name $25.;
    datalines ;
Andy_Lincoln_Bernard
Barry_Michael
Chad_Simpson_Smith
Derrick_Parson_Henry
Eric_Miller
Frank_Giovanni_Goodwill
;
run ;

/*print dataset*/
proc print data =my_data1;

Mit dem folgenden Code können wir die Namenszeichenfolge schnell in drei separate Zeichenfolgen aufteilen:

 /*create second dataset with name split into three columns*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
run ;

/*view second dataset*/
proc print data =my_data2; 

Beachten Sie, dass die Namensspaltenzeichenfolge in drei neue Spalten aufgeteilt wurde.

Bei Namen, für die es nur ein Trennzeichen gibt, ist der Wert in der Spalte name3 einfach leer.

Beachten Sie, dass wir die Drop- Funktion auch verwenden könnten, um die ursprüngliche Namensspalte aus dem neuen Datensatz zu entfernen:

 /*create second dataset with name split into three columns, drop original name*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
    dropname ;
run ;

/*view second dataset*/
proc print data =my_data2; 

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:

So normalisieren Sie Daten in SAS
So benennen Sie Variablen in SAS um
So entfernen Sie Duplikate in SAS
So ersetzen Sie fehlende Werte in SAS durch Null

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert