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

Einen Kommentar hinzufügen

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