SAS : Comment utiliser l’opérateur IN dans PROC SQL



Vous pouvez utiliser l’opérateur IN dans l’instruction PROC SQL dans SAS pour renvoyer uniquement les lignes dans lesquelles une variable d’un ensemble de données contient une valeur dans une liste.

L’exemple suivant montre comment utiliser l’opérateur IN dans la pratique.

Exemple : utilisation de l’opérateur IN dans PROC SQL dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient des informations sur divers joueurs de basket-ball :

/*create dataset*/
data my_data;
    input team $ points;
    datalines;
A 12
A 14
A 15
A 18
B 31
B 32
C 35
C 36
C 40
D 28
E 20
E 21
;
run;

/*view dataset*/
proc print data=my_data;

Nous pouvons utiliser l’opérateur IN dans PROC SQL pour sélectionner uniquement les lignes où l’équipe est égale à A, B ou E :

/*select all rows where team is A, B, or E*/
proc sql;
   select *
   from my_data
   where team in ('A', 'B', 'E');
quit;

Notez que seules les lignes où l’équipe est égale à A, B ou E sont renvoyées.

L’opposé de l’opérateur IN dans PROC SQL est NOT IN , qui sélectionne les lignes dans lesquelles certaines variables d’un ensemble de données ne contiennent pas de valeur dans une liste.

Le code suivant montre comment utiliser l’opérateur NOT IN pour sélectionner toutes les lignes où l’équipe n’est pas égale à A, B ou E :

/*select all rows where team is not A, B, or E*/
proc sql;
   select *
   from my_data
   where team not in ('A', 'B', 'E');
quit;

Notez que seules les lignes où l’équipe n’est pas égale à A, B ou E sont renvoyées.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

SAS : Comment utiliser UNION dans PROC SQL
SAS : Comment utiliser EXCEPT dans PROC SQL
SAS : Comment utiliser Proc Univariate par groupe

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *