SAS – Operadores

Un operador en SAS es un símbolo que se usa en una expresión matemática, lógica o de comparación. Estos símbolos están integrados en el lenguaje SAS y muchas declaraciones se pueden combinar en una sola expresión para producir un resultado final.

A continuación se muestra una lista de operadores de categoría SAS.

  • Operadores aritméticos
  • Operadores logicos
  • Operadores de comparación
  • Operadores mínimos / máximos
  • Operador de concatenación

Veremos cada uno de ellos por turno. Los operadores siempre se utilizan con variables que forman parte de los datos analizados por el programa SAS.

Operadores aritméticos

La siguiente tabla detalla los operadores aritméticos. Suponga dos variables de datos V1 y V2con valores 8 y cuatro respectivamente.

Operador Descripción Ejemplo
+ Añadiendo V1 + V2 = 12
Sustracción V1-V2 = 4
* Multiplicación V1 * V2 = 32
/ Separación V1 / V2 = 2
** Exponenciación V1 ** V2 = 4096

Ejemplo

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;

Al ejecutar el código anterior, obtenemos el siguiente resultado.

operator_arithmrtic

Operadores logicos

La siguiente tabla detalla los operadores lógicos. Estos operadores evalúan el verdadero valor de la expresión. Por tanto, el resultado de los operadores lógicos es siempre 1 o 0. Suponga dos variables de datos V1 y V2con valores 8 y cuatro respectivamente.

Operador Descripción Ejemplo
Y Y operador. Si ambos valores de datos se evalúan como verdaderos, el resultado es 1; de lo contrario, es 0. (V1> 2 y V2> 3) da 0.
| Operador OR. Si alguno de los valores de los datos se evalúa como verdadero, el resultado es 1; de lo contrario, es 0. (V1> 9 y V2> 3) es igual a 1.
~ El operador NOT. El resultado de un operador NOT en forma de expresión cuyo valor es FALSE o el valor faltante es 1; de lo contrario, es 0. NO (V1> 3) es igual a 1.

Ejemplo

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;

Al ejecutar el código anterior, obtendremos el siguiente resultado.

operator_logical

Operadores de comparación

La siguiente tabla detalla los operadores de comparación. Estos operadores comparan los valores de las variables y el resultado es el valor de verdad representado por 1 para VERDADERO y 0 para Falso. Suponga dos variables de datos V1 y V2con valores 8 y cuatro respectivamente.

Operador Descripción Ejemplo
= Operador EQUAL. Si ambos valores de datos son iguales, el resultado es 1; de lo contrario, 0. (V1 = 8) da 1.
^ = Operador NO IGUAL. Si ambos valores de datos no son iguales, el resultado es 1; de lo contrario, 0. (V1 ^ = V2) da 1.
< MENOS QUE EL OPERADOR. (V2
<= Operador MENOS o IGUAL. (V2 <= 4) da 1.
> MÁS QUE UN OPERADOR. (V2> V1) da 1.
> = OPERADOR MÁS QUE O IGUAL. (V2> = V1) da 0.
EN Operador IN. Si el valor de la variable es igual a cualquiera de los valores en la lista de valores dada, entonces devuelve 1; de lo contrario, devuelve 0. V1 en (5,7,9,8) da 1.

Ejemplo

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;

Al ejecutar el código anterior, obtenemos el siguiente resultado.

comparación_operador

Operadores mínimos / máximos

La siguiente tabla detalla los operadores mínimo / máximo. Estos operadores comparan los valores de las variables en una cadena y devuelven el valor mínimo o máximo de una lista de valores en las cadenas.

Operador Descripción Ejemplo
MIN Operador MIN. Devuelve el valor mínimo de una lista de valores en una cadena. MIN (45,2,11,6,15,41) da 11,6
MÁXIMO Operador MAX. Devuelve el valor máximo de una lista de valores en una cadena. MAX (45.2,11,6,15,41) da 45.2

Ejemplo

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;

Al ejecutar el código anterior, obtenemos el siguiente resultado.

operator_minmax

Operador de concatenación

La siguiente tabla describe los detalles del operador de concatenación. Este operador concatena dos o más valores de cadena. Se devuelve un valor de un solo carácter.

Operador Descripción Ejemplo
|| Operador de concatenación. Devuelve la concatenación de dos o más valores. «Hola» || World ‘da Hello World

Ejemplo

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

Al ejecutar el código anterior, obtenemos el siguiente resultado.

operator_concate

Prioridad del operador

La precedencia de operadores especifica el orden en el que se evalúan varios operadores en una expresión compleja. La siguiente tabla describe el orden de precedencia en el grupo de operadores.

Grupo Orden Simbolos
Grupo I De derecha a izquierda ** + – NO MIN MAX
II grupo De izquierda a derecha * /
III grupo De izquierda a derecha + –
Grupo IV De izquierda a derecha ||
Grupo V De izquierda a derecha <<= => =>

🚫