Sas: hoe de where-operator in proc sql te gebruiken
U kunt de WHERE- operator in de PROC SQL- instructie in SAS gebruiken om alleen rijen te retourneren waarin aan bepaalde voorwaarden wordt voldaan.
De volgende voorbeelden laten zien hoe u de WHERE- operator gebruikt in de volgende scenario’s:
- Selecteer rijen waarin aan een voorwaarde wordt voldaan.
- Selecteer rijen waarin aan een van meerdere voorwaarden wordt voldaan.
- Selecteer rijen waarin aan meerdere voorwaarden wordt voldaan.
De volgende voorbeelden laten zien hoe u de WHERE- operator in elk scenario gebruikt met de volgende gegevensset in SAS:
/*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;
Voorbeeld 1: selecteer rijen waarin aan een voorwaarde wordt voldaan
De volgende code laat zien hoe u de WHERE- operator in de SQL PROC- instructie gebruikt om alle rijen in de gegevensset te selecteren waarin team gelijk is aan A:
/*select all rows where team is equal to A*/
proc sql ;
select *
from my_data
where team = 'A';
quit ;
De enige rijen die worden geretourneerd, zijn die waarin het team gelijk is aan A.
Voorbeeld 2: Selecteer rijen waarin aan een van meerdere voorwaarden wordt voldaan
De volgende code laat zien hoe u de WHERE- operator in de SQL PROC- instructie gebruikt om alle rijen in de gegevensset te selecteren waarin het team gelijk is aan A of de punten groter zijn dan 30:
/*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 ;
De enige geretourneerde rijen zijn die waarin het team gelijk is aan A of de punten groter zijn dan 30:
Voorbeeld 3: selecteer rijen waarin aan meerdere voorwaarden wordt voldaan
De volgende code laat zien hoe u de WHERE- operator in de SQL PROC- instructie kunt gebruiken om alle rijen in de gegevensset te selecteren waarin team gelijk is aan A en de punten groter zijn dan 13:
/*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 ;
De enige geretourneerde lijnen zijn die waarbij het team gelijk is aan A en de punten groter zijn dan 13:
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
SAS: Hoe de IN-operator in PROC SQL te gebruiken
SAS: UNION gebruiken in PROC SQL
SAS: Hoe te gebruiken BEHALVE in PROC SQL