Sas: contains gebruiken in proc sql


U kunt de CONTAINS- operator in de SQL PROC- instructie in SAS gebruiken om alleen rijen te retourneren waarin een variabele in een gegevensset een tekenreekspatroon bevat.

De volgende voorbeelden laten zien hoe u de CONTAINS- operator in de praktijk kunt gebruiken met de volgende gegevensset in SAS die informatie bevat over verschillende basketbalspelers:

 /*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;

Voorbeeld 1: selecteer rijen waarin de variabele een patroon bevat

We kunnen de CONTAINS- operator in PROC SQL gebruiken om alleen rijen te selecteren waarin het team ergens in de naam het „avs“-patroon bevat:

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

Houd er rekening mee dat alleen regels waarin het team ergens in de naam „avs“ bevat, worden geretourneerd.

Voorbeeld 2: Selecteer rijen waarin de variabele een of meerdere patronen bevat

We kunnen de CONTAINS- operator in PROC SQL gebruiken om alleen die rijen te selecteren waarin het team ergens in de naam het „avs“-patroon of het „ics“-patroon bevat:

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

Alleen regels waarin het team ergens in de naam „avs“ of „ics“ bevat, worden geretourneerd.

Voorbeeld 3: selecteer rijen waarin de variabele geen patroon bevat

Het tegenovergestelde van de CONTAINS- operator in PROC SQL is NOT CONTAINS , waarmee rijen worden geselecteerd waarin bepaalde variabelen in een gegevensset geen bepaald tekenreekspatroon bevatten.

De volgende code laat zien hoe u de operator NOT CONTAINS gebruikt om alle rijen te selecteren waarvan de teamnaam geen ‚avs‘ bevat:

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

Houd er rekening mee dat alleen regels waarin het team ergens in de naam geen „avs“ bevat, worden geretourneerd.

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:

SAS: UNION gebruiken in PROC SQL
SAS: Hoe te gebruiken BEHALVE in PROC SQL
SAS: Hoe de IN-operator in PROC SQL te gebruiken
SAS: Hoe de WHERE-operator in PROC SQL te gebruiken

Einen Kommentar hinzufügen

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