SAS - Operatori
Un operatore in SAS è un simbolo utilizzato in un'espressione matematica, logica o di confronto. Questi simboli sono incorporati nel linguaggio SAS e molti operatori possono essere combinati in una singola espressione per fornire un output finale.
Di seguito è riportato un elenco di categorie di operatori SAS.
- Operatori aritmetici
- Operatori logici
- Operatori di confronto
- Operatori minimo / massimo
- Operatore di concatenazione
Vedremo ciascuno di uno per uno. Gli operatori vengono sempre utilizzati con variabili che fanno parte dei dati analizzati dal programma SAS.
Operatori aritmetici
La tabella seguente descrive i dettagli degli operatori aritmetici. Supponiamo due variabili di datiV1 e V2con valori 8 e 4 rispettivamente.
Operatore | Descrizione | Esempio |
---|---|---|
+ | Aggiunta | V1 + V2 = 12 |
- | Sottrazione | V1-V2 = 4 |
* | Moltiplicazione | V1 * V2 = 32 |
/ | Divisione | V1 / V2 = 2 |
** | Esponenziazione | V1 ** V2 = 4096 |
Esempio
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;
Eseguendo il codice precedente, otteniamo il seguente output.
Operatori logici
La tabella seguente descrive i dettagli degli operatori logici. Questi operatori valutano il valore di Verità di un'espressione. Quindi il risultato degli operatori logici è sempre 1 o 0. Supponiamo che due variabili di datiV1 e V2con valori 8 e 4 rispettivamente.
Operatore | Descrizione | Esempio |
---|---|---|
& | L'operatore AND. Se entrambi i valori dei dati restituiscono true, il risultato è 1 altrimenti è 0. | (V1> 2 & V2> 3) restituisce 0. |
| | L'operatore OR. Se uno qualsiasi dei valori dei dati restituisce true, il risultato è 1, altrimenti è 0. | (V1> 9 e V2> 3) è 1. |
~ | L'operatore NOT. Il risultato dell'operatore NOT sotto forma di un'espressione il cui valore è FALSE o un valore mancante è 1 altrimenti è 0. | NOT (V1> 3) è 1. |
Esempio
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;
Eseguendo il codice precedente, otteniamo il seguente output.
Operatori di confronto
La tabella seguente descrive i dettagli degli operatori di confronto. Questi operatori confrontano i valori delle variabili e il risultato è un valore di verità presentato da 1 per TRUE e 0 per False. Supponiamo due variabili di datiV1 e V2con valori 8 e 4 rispettivamente.
Operatore | Descrizione | Esempio |
---|---|---|
= | L'operatore EQUAL. Se entrambi i valori dei dati sono uguali, il risultato è 1 altrimenti è 0. | (V1 = 8) restituisce 1. |
^ = | L'operatore NON UGUALE. Se entrambi i valori dei dati non sono uguali, il risultato è 1 altrimenti è 0. | (V1 ^ = V2) restituisce 1. |
< | L'operatore MENO DI. | (V2 <V2) restituisce 1. |
<= | L'operatore MENO DI o UGUALE A. | (V2 <= 4) restituisce 1. |
> | IL MIGLIORE DELL'operatore. | (V2> V1) restituisce 1. |
> = | L'operatore MAGGIORE DI O UGUALE A. | (V2> = V1) restituisce 0. |
IN | L'operatore IN. Se il valore della variabile è uguale a uno qualsiasi dei valori in un dato elenco di valori, restituisce 1 altrimenti restituisce 0. | V1 in (5,7,9,8) restituisce 1. |
Esempio
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;
Eseguendo il codice precedente, otteniamo il seguente output.
Operatori minimo / massimo
La tabella seguente descrive i dettagli degli operatori Minimo / Massimo. Questi operatori confrontano i valori delle variabili su una riga e viene restituito il valore minimo o massimo dall'elenco dei valori nelle righe.
Operatore | Descrizione | Esempio |
---|---|---|
MIN | L'operatore MIN. Restituisce il valore minimo dall'elenco dei valori nella riga. | MIN (45.2,11.6,15.41) restituisce 11.6 |
MAX | L'operatore MAX. Restituisce il valore massimo dall'elenco dei valori nella riga. | MAX (45.2,11.6,15.41) restituisce 45.2 |
Esempio
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;
Eseguendo il codice precedente, otteniamo il seguente output.
Operatore di concatenazione
La tabella seguente descrive i dettagli dell'operatore di concatenazione. Questo operatore concatena due o più valori di stringa. Viene restituito un singolo valore di carattere.
Operatore | Descrizione | Esempio |
---|---|---|
|| | L'operatore concatenato. Restituisce la concatenazione di due o più valori. | "Ciao" || " World 'dà Hello World |
Esempio
DATA MYDATA1;
input COL1 $ COL2 $ COL3 $;
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;
Eseguendo il codice precedente, otteniamo il seguente output.
Precedenza degli operatori
La precedenza degli operatori indica l'ordine di valutazione dei molteplici operatori presenti nell'espressione complessa. La tabella seguente descrive l'ordine di precedenza con in un gruppo di operatori.
Gruppo | Ordine | Simboli |
---|---|---|
Gruppo I | Da destra a sinistra | ** + - NON MIN MAX |
Gruppo II | Da sinistra a destra | * / |
Gruppo III | Da sinistra a destra | + - |
Gruppo IV | Da sinistra a destra | || |
Gruppo V | Da sinistra a destra | <<= => => |