Sas: so verwenden sie die if-anweisung in proc sql


Obwohl es in SAS nicht möglich ist, eine IF- Anweisung in PROC SQL zu verwenden, können Sie den CASE- Operator verwenden, um die Werte zu definieren, die eine Variable basierend auf bestimmten Bedingungen annehmen soll.

Die folgenden Beispiele zeigen, wie der CASE- Operator in der Praxis mit dem folgenden Datensatz in SAS verwendet wird , 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;

Beispiel 1: Verwendung des CASE-Operators mit nur zwei Ergebnissen

Wir können den CASE- Operator in PROC SQL verwenden, um eine neue Spalte im Datensatz mit dem Namen „points_flag“ zu generieren, die den Wert 0 annimmt, wenn der Wert in der Punktespalte kleiner als 20 ist, andernfalls den Wert 1:

 /*create new column called points_flag using case operator*/ 
proc sql ;
  select *,
box 
      when points < 20 then 0 else 1
      end as points_flag
from my_data;
quit ; 

Beachten Sie, dass die Spalte „points_flag“ den Wert 0 annimmt, wenn der Wert der Spalte „ points “ kleiner als 20 ist, andernfalls den Wert 1.

Beispiel 2: Verwendung des CASE-Operators mit mehr als zwei Ergebnissen

Wir können den CASE- Operator in PROC SQL auch verwenden, um eine neue Spalte im Datensatz mit dem Namen „ points_flag“ zu generieren, die den Wert 0 annimmt, wenn der Wert in der Punktespalte weniger als 20 beträgt, und den Wert 1, wenn die Punkte weniger als 35 sind. oder ein Wert von 2, sonst:

 /*create new column called points_flag using case operator*/ 
proc sql ;
  select *,
      box 
      when points < 20 then 0
when points < 35 then 1 else 2
      end as points_flag
      from my_data;
quit ; 

Beachten Sie, dass die Spalte „points_flag“ den Wert 0, 1 oder 2 annimmt, abhängig vom entsprechenden Wert in der Spalte „points“ .

Hinweis : Sie können beliebig viele when- Anweisungen verwenden, um in einer neuen Spalte so viele verschiedene Werte zu generieren, wie Sie möchten.

Zusätzliche Ressourcen

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

SAS: So verwenden Sie den WHERE-Operator in PROC SQL
SAS: So verwenden Sie den IN-Operator in PROC SQL
SAS: So verwenden Sie UPDATE in PROC SQL
SAS: Verwendung von CONTAINS in PROC SQL

Einen Kommentar hinzufügen

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