Sas: so verwenden sie den like-operator in proc sql


Sie können den LIKE- Operator in der PROC-SQL- Anweisung in SAS verwenden, um Zeilen zurückzugeben, in denen eine Variable in einem Datensatz mit einem Zeichenfolgenmuster übereinstimmt.

Das folgende Beispiel zeigt, wie der LIKE- Operator in der Praxis verwendet wird.

Beispiel: Verwendung des LIKE-Operators in PROC SQL in SAS

Angenommen, wir haben in SAS den folgenden Datensatz, der Informationen über verschiedene Basketballspieler enthält:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;

/*view dataset*/
proc print data =my_data;

Wir können den LIKE- Operator in PROC SQL verwenden, um nur die Zeilen auszuwählen, in denen das Team irgendwo im Namen das Muster „avs“ enthält:

 /*select all rows where team contains 'avs'*/ 
proc sql ;
   select *
   from my_data
   where team like '%avs%';
quit ; 

Beachten Sie, dass nur Zeilen zurückgegeben werden, in denen das Team irgendwo im Namen „avs“ enthält.

Das Gegenteil des LIKE- Operators in PROC SQL ist NOT LIKE , der Zeilen auswählt, in denen bestimmte Variablen in einem Datensatz kein bestimmtes Zeichenfolgenmuster enthalten.

Der folgende Code zeigt, wie Sie mit dem NOT LIKE -Operator alle Zeilen auswählen, deren Team nicht „avs“ im Namen enthält:

 /*select all rows where team does not contain 'avs'*/
proc sql ;
   select *
   from my_data
   where team not like '%avs%';
quit ; 

Beachten Sie, dass nur Zeilen zurückgegeben werden, in denen das Team nicht irgendwo im Namen „avs“ enthält.

Zusätzliche Ressourcen

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

SAS: So verwenden Sie UNION in PROC SQL
SAS: So verwenden Sie EXCEPT in PROC SQL
SAS: So verwenden Sie den IN-Operator in PROC SQL
SAS: So verwenden Sie den WHERE-Operator in PROC SQL

Einen Kommentar hinzufügen

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