SAS - Opérateurs

Un opérateur en SAS est un symbole utilisé dans une expression mathématique, logique ou de comparaison. Ces symboles sont intégrés au langage SAS et de nombreux opérateurs peuvent être combinés dans une seule expression pour donner une sortie finale.

Vous trouverez ci-dessous une liste des catégories d'opérateurs SAS.

  • Opérateurs arithmétiques
  • Opérateurs logiques
  • Opérateurs de comparaison
  • Opérateurs minimum / maximum
  • Opérateur de concaténation

Nous examinerons chacun de ces éléments un par un. Les opérateurs sont toujours utilisés avec des variables faisant partie des données analysées par le programme SAS.

Opérateurs arithmétiques

Le tableau ci-dessous décrit les détails des opérateurs arithmétiques. Supposons deux variables de donnéesV1 et V2avec des valeurs 8 et 4 respectivement.

Opérateur La description Exemple
+ Une addition V1 + V2 = 12
- Soustraction V1-V2 = 4
* Multiplication V1 * V2 = 32
/ Division V1 / V2 = 2
** Exponentiation V1 ** V2 = 4096

Exemple

DATA MYDATA1;
input @1 COL1 4.2	@7 COL2 3.1; 
Add_result = COL1+COL2;
Sub_result = COL1-COL2;
Mult_result = COL1*COL2;
Div_result = COL1/COL2;
Expo_result = COL1**COL2;
datalines;
11.21 5.3
3.11  11
;
PROC PRINT DATA = MYDATA1;
RUN;

En exécutant le code ci-dessus, nous obtenons la sortie suivante.

Opérateurs logiques

Le tableau ci-dessous décrit les détails des opérateurs logiques. Ces opérateurs évaluent la valeur Truth d'une expression. Ainsi, le résultat des opérateurs logiques est toujours un 1 ou un 0. Supposons deux variables de donnéesV1 et V2avec des valeurs 8 et 4 respectivement.

Opérateur La description Exemple
& L'opérateur AND. Si les deux valeurs de données sont évaluées à vrai, le résultat est 1, sinon 0. (V1> 2 & V2> 3) donne 0.
| L'opérateur OR. Si l'une des valeurs de données est évaluée à vrai, le résultat est 1, sinon 0. (V1> 9 & V2> 3) vaut 1.
~ L'opérateur NOT. Le résultat de l'opérateur NOT sous la forme d'une expression dont la valeur est FALSE ou une valeur manquante est 1 sinon elle est 0. NOT (V1> 3) vaut 1.

Exemple

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
and_=(COL1 > 10 & COL2 > 5 );
or_ = (COL1 > 12 | COL2 > 15 );
not_ = ~( COL2 > 7 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

En exécutant le code ci-dessus, nous obtenons la sortie suivante.

Opérateurs de comparaison

Le tableau ci-dessous décrit les détails des opérateurs de comparaison. Ces opérateurs comparent les valeurs des variables et le résultat est une valeur de vérité présentée par 1 pour TRUE et 0 pour False. Supposons deux variables de donnéesV1 et V2avec des valeurs 8 et 4 respectivement.

Opérateur La description Exemple
= L'opérateur EQUAL. Si les deux valeurs de données sont égales, le résultat est 1, sinon 0. (V1 = 8) donne 1.
^ = L'opérateur NOT EQUAL. Si les deux valeurs de données sont inégales, le résultat est 1, sinon 0. (V1 ^ = V2) donne 1.
< L'opérateur MOINS QU'UN. (V2 <V2) donne 1.
<= L'opérateur INFÉRIEUR ou ÉGAL À. (V2 <= 4) donne 1.
> Le plus grand que l'opérateur. (V2> V1) donne 1.
> = L'opérateur PLUS GRAND ou ÉGAL À. (V2> = V1) donne 0.
DANS L'opérateur IN. Si la valeur de la variable est égale à l'une des valeurs d'une liste de valeurs donnée, alors elle renvoie 1 sinon elle retourne 0. V1 dans (5,7,9,8) donne 1.

Exemple

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
EQ_ = (COL1 = 11.21);
NEQ_= (COL1 ^= 11.21);
GT_ = (COL2 => 8);
LT_ = (COL2 <= 12);
IN_ = COL2 in( 6.2,5.3,12 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

En exécutant le code ci-dessus, nous obtenons la sortie suivante.

Opérateurs minimum / maximum

Le tableau ci-dessous décrit les détails des opérateurs Minimum / Maximum. Ces opérateurs comparent les valeurs des variables sur une ligne et la valeur minimale ou maximale de la liste de valeurs dans les lignes est renvoyée.

Opérateur La description Exemple
MIN L'opérateur MIN. Il renvoie la valeur minimale de la liste des valeurs de la ligne. MIN (45,2,11,6,15,41) donne 11,6
MAX L'opérateur MAX. Il renvoie la valeur maximale de la liste des valeurs de la ligne. MAX (45,2,11,6,15,41) donne 45,2

Exemple

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1 @12 COL3 6.3; 
min_ = MIN(COL1 , COL2 , COL3);
max_ = MAX( COL1, COl2 , COL3);
datalines;
11.21 5.3 29.012
3.11  11.4 18.512
;
PROC PRINT DATA = MYDATA1;
RUN;

En exécutant le code ci-dessus, nous obtenons la sortie suivante.

Opérateur de concaténation

Le tableau ci-dessous décrit les détails de l'opérateur de concaténation. Cet opérateur concatène deux ou plusieurs valeurs de chaîne. Une valeur de caractère unique est renvoyée.

Opérateur La description Exemple
|| L'opérateur de concaténation. Il renvoie la concaténation de deux ou plusieurs valeurs. "Bonjour" || " World 'donne Hello World

Exemple

DATA MYDATA1;
input  COL1 $	COL2 $  COL3 $; 
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;

En exécutant le code ci-dessus, nous obtenons la sortie suivante.

Priorité des opérateurs

La priorité des opérateurs indique l'ordre d'évaluation des multiples opérateurs présents dans l'expression complexe. Le tableau ci-dessous décrit l'ordre de priorité dans un groupe d'opérateurs.

Groupe Ordre Symboles
Groupe I De droite à gauche ** + - PAS MIN MAX
Groupe II De gauche à droite * /
Groupe III De gauche à droite + -
Groupe IV De gauche à droite ||
Groupe V De gauche à droite <<= => =>