Sas: hoe u de like-operator gebruikt in proc sql


U kunt de LIKE- operator in de PROC SQL- instructie in SAS gebruiken om rijen te retourneren waarin een variabele in een gegevensset overeenkomt met een tekenreekspatroon.

In het volgende voorbeeld ziet u hoe u de LIKE- operator in de praktijk kunt gebruiken.

Voorbeeld: gebruik van de LIKE-operator in PROC SQL in SAS

Stel dat we de volgende dataset in SAS hebben 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;

We kunnen de LIKE- operator in PROC SQL gebruiken om alleen die 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 like '%avs%';
quit ; 

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

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

De volgende code laat zien hoe u de operator NOT LIKE gebruikt om alle rijen te selecteren waarvan het team geen ‚avs‘ in de naam bevat:

 /*select all rows where team does not contain 'avs'*/
proc sql ;
   select *
   from my_data
   where team not like '%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