SAS - Operadores
Um operador no SAS é um símbolo que é usado em uma expressão matemática, lógica ou de comparação. Esses símbolos são integrados à linguagem SAS e muitos operadores podem ser combinados em uma única expressão para fornecer uma saída final.
Abaixo está uma lista de categorias de operadoras SAS.
- Operadores aritméticos
- Operadores lógicos
- Operadores de comparação
- Operadores mínimos / máximos
- Operador de concatenação
Veremos cada um um por um. Os operadores são sempre usados com variáveis que fazem parte dos dados que estão sendo analisados pelo programa SAS.
Operadores aritméticos
A tabela abaixo descreve os detalhes dos operadores aritméticos. Vamos supor duas variáveis de dadosV1 e V2com valores 8 e 4 respectivamente.
Operador | Descrição | Exemplo |
---|---|---|
+ | Adição | V1 + V2 = 12 |
- | Subtração | V1-V2 = 4 |
* | Multiplicação | V1 * V2 = 32 |
/ | Divisão | V1 / V2 = 2 |
** | Exponenciação | V1 ** V2 = 4096 |
Exemplo
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;
Ao executar o código acima, obtemos a seguinte saída.
Operadores lógicos
A tabela abaixo descreve os detalhes dos operadores lógicos. Esses operadores avaliam o valor Truth de uma expressão. Portanto, o resultado dos operadores lógicos é sempre 1 ou 0. Vamos assumir duas variáveis de dadosV1 e V2com valores 8 e 4 respectivamente.
Operador | Descrição | Exemplo |
---|---|---|
E | O operador AND. Se ambos os valores de dados forem avaliados como verdadeiros, o resultado será 1, caso contrário, será 0. | (V1> 2 e V2> 3) dá 0. |
| | O operador OR. Se qualquer um dos valores de dados for avaliado como verdadeiro, o resultado será 1, caso contrário, será 0. | (V1> 9 e V2> 3) é 1. |
~ | O operador NOT. O resultado do operador NOT na forma de uma expressão cujo valor é FALSE ou um valor ausente é 1, caso contrário, é 0. | NÃO (V1> 3) é 1. |
Exemplo
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;
Ao executar o código acima, obtemos a seguinte saída.
Operadores de comparação
A tabela abaixo descreve os detalhes dos operadores de comparação. Esses operadores comparam os valores das variáveis e o resultado é um valor verdade apresentado por 1 para TRUE e 0 para False. Vamos supor duas variáveis de dadosV1 e V2com valores 8 e 4 respectivamente.
Operador | Descrição | Exemplo |
---|---|---|
= | O operador EQUAL. Se ambos os valores dos dados forem iguais, o resultado será 1, caso contrário, será 0. | (V1 = 8) dá 1. |
^ = | O operador NOT EQUAL. Se ambos os valores de dados forem desiguais, o resultado será 1, caso contrário, será 0. | (V1 ^ = V2) dá 1. |
< | O MENOS QUE O operador. | (V2 <V2) dá 1. |
<= | MENOS OU IGUAL AO Operador. | (V2 <= 4) dá 1. |
> | O MAIOR DO QUE O operador. | (V2> V1) dá 1. |
> = | O MAIOR DO QUE OU IGUAL AO Operador. | (V2> = V1) dá 0. |
DENTRO | O operador IN. Se o valor da variável for igual a qualquer um dos valores em uma determinada lista de valores, ela retorna 1, caso contrário, retorna 0. | V1 em (5,7,9,8) dá 1. |
Exemplo
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;
Ao executar o código acima, obtemos a seguinte saída.
Operadores mínimos / máximos
A tabela abaixo descreve os detalhes dos operadores Mínimo / Máximo. Esses operadores comparam os valores das variáveis em uma linha e o valor mínimo ou máximo da lista de valores nas linhas é retornado.
Operador | Descrição | Exemplo |
---|---|---|
MIN | O operador MIN. Ele retorna o valor mínimo da lista de valores na linha. | MIN (45,2,11,6,15,41) dá 11,6 |
MAX | O operador MAX. Ele retorna o valor máximo da lista de valores na linha. | MAX (45,2,11,6,15,41) dá 45,2 |
Exemplo
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;
Ao executar o código acima, obtemos a seguinte saída.
Operador de concatenação
A tabela abaixo descreve os detalhes do operador Concatenação. Este operador concatena dois ou mais valores de string. Um único valor de caractere é retornado.
Operador | Descrição | Exemplo |
---|---|---|
|| | O operador concatenar. Ele retorna a concatenação de dois ou mais valores. | 'Olá' || ' World 'dá Hello World |
Exemplo
DATA MYDATA1;
input COL1 $ COL2 $ COL3 $;
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;
Ao executar o código acima, obtemos a seguinte saída.
Precedência de operadores
A precedência do operador indica a ordem de avaliação dos vários operadores presentes na expressão complexa. A tabela abaixo descreve a ordem de precedência em um grupo de operadores.
Grupo | Ordem | Símbolos |
---|---|---|
Grupo I | Direita para esquerda | ** + - NÃO MIN MÁX |
Grupo II | Da esquerda para direita | * / |
Grupo III | Da esquerda para direita | + - |
Grupo IV | Da esquerda para direita | || |
Grupo V | Da esquerda para direita | <<= => => |