Sas: so verwenden sie den where-operator in proc sql
Sie können den WHERE- Operator in der PROC-SQL- Anweisung in SAS verwenden, um nur Zeilen zurückzugeben, in denen bestimmte Bedingungen erfüllt sind.
Die folgenden Beispiele zeigen, wie der WHERE- Operator in den folgenden Szenarios verwendet wird:
- Wählen Sie Zeilen aus, in denen eine Bedingung erfüllt ist.
- Wählen Sie Zeilen aus, in denen eine von mehreren Bedingungen erfüllt ist.
- Wählen Sie Zeilen aus, in denen mehrere Bedingungen erfüllt sind.
Die folgenden Beispiele zeigen, wie der WHERE- Operator in jedem Szenario mit dem folgenden Datensatz in SAS verwendet wird:
/*create dataset*/
data my_data;
input team $points;
datalines ;
AT 12
At 14
At 15
At 18
B 31
B 32
C 35
C 36
C40
D 28
E20
E 21
;
run ;
/*view dataset*/
proc print data =my_data;
Beispiel 1: Zeilen auswählen, in denen eine Bedingung erfüllt ist
Der folgende Code zeigt, wie der WHERE- Operator in der SQL PROC- Anweisung verwendet wird, um alle Zeilen im Datensatz auszuwählen, bei denen Team gleich A ist:
/*select all rows where team is equal to A*/
proc sql ;
select *
from my_data
where team = 'A';
quit ;
Es werden nur die Zeilen zurückgegeben, in denen das Team gleich A ist.
Beispiel 2: Wählen Sie Zeilen aus, in denen eine von mehreren Bedingungen erfüllt ist
Der folgende Code zeigt, wie der WHERE- Operator in der SQL PROC- Anweisung verwendet wird, um alle Zeilen im Datensatz auszuwählen, in denen das Team gleich A ist oder die Punkte größer als 30 sind:
/*select all rows where team is equal to A or points is greater than 30*/
proc sql ;
select *
from my_data
where team = 'A' or points > 30 ;
quit ;
Es werden nur die Zeilen zurückgegeben, in denen das Team gleich A ist oder die Punkte größer als 30 sind:
Beispiel 3: Zeilen auswählen, in denen mehrere Bedingungen erfüllt sind
Der folgende Code zeigt, wie der WHERE- Operator in der SQL PROC- Anweisung verwendet wird, um alle Zeilen im Datensatz auszuwählen, in denen Team gleich A ist und Punkte größer als 13 sind:
/*select all rows where team is equal to A and points is greater than 13*/
proc sql ;
select *
from my_data
where team = 'A' and points > 13 ;
quit ;
Die einzigen zurückgegebenen Zeilen sind diejenigen, bei denen das Team gleich A ist und die Punkte größer als 13 sind:
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 IN-Operator in PROC SQL
SAS: So verwenden Sie UNION in PROC SQL
SAS: So verwenden Sie EXCEPT in PROC SQL