SAS - Funzioni

SAS ha un'ampia varietà di funzioni integrate che aiutano nell'analisi e nell'elaborazione dei dati. Queste funzioni vengono utilizzate come parte delle istruzioni DATA. Prendono le variabili di dati come argomenti e restituiscono il risultato che viene memorizzato in un'altra variabile. A seconda del tipo di funzione, il numero di argomenti necessari può variare. Alcune funzioni accettano zero argomenti mentre altre accettano un numero fisso di variabili. Di seguito è riportato un elenco dei tipi di funzioni fornite da SAS.

Sintassi

La sintassi generale per l'utilizzo di una funzione in SAS è la seguente.

FUNCTIONNAME(argument1, argument2...argumentn)

Qui l'argomento può essere una costante, una variabile, un'espressione o un'altra funzione.

Categorie di funzioni

A seconda del loro utilizzo, le funzioni in SAS sono classificate come di seguito.

  • Mathematical
  • Data e ora
  • Character
  • Truncation
  • Miscellaneous

Funzioni matematiche

Queste sono le funzioni utilizzate per applicare alcuni calcoli matematici sui valori delle variabili.

Esempi

Il seguente programma SAS mostra l'uso di alcune importanti funzioni matematiche.

data Math_functions;

v1=21; v2=42; v3=13; v4=10; v5=29;

/* Get Maximum value */
max_val = MAX(v1,v2,v3,v4,v5);

/* Get Minimum value */
min_val = MIN (v1,v2,v3,v4,v5);

/* Get Median value */
med_val = MEDIAN (v1,v2,v3,v4,v5);

/* Get a random number */
rand_val = RANUNI(0);

/* Get Square root of sum of the values */
SR_val= SQRT(sum(v1,v2,v3,v4,v5));

proc print data = Math_functions noobs;
run;

Quando viene eseguito il codice precedente, otteniamo il seguente output:

Funzioni di data e ora

Queste sono le funzioni utilizzate per elaborare i valori di data e ora.

Esempi

Il programma SAS di seguito mostra l'uso delle funzioni di data e ora.

data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9.  date2 date9.;

/* Get the interval between the dates in years*/
Years_ = INTCK('YEAR',date1,date2);

/* Get the interval between the dates in months*/
months_ = INTCK('MONTH',date1,date2);

/* Get the week day from the date*/
weekday_ =  WEEKDAY(date1);

/* Get Today's date in SAS date format */
today_ = TODAY();

/* Get current time in SAS time format */
time_ = time();
DATALINES;
21OCT2000 16AUG1998
01MAR2009 11JUL2012
;
proc print data = date_functions noobs;
run;

Quando viene eseguito il codice precedente, otteniamo il seguente output:

Funzioni dei caratteri

Queste sono le funzioni utilizzate per elaborare caratteri o valori di testo.

Esempi

Il seguente programma SAS mostra l'uso delle funzioni dei caratteri.

data character_functions;

/* Convert the string into lower case */
lowcse_ = LOWCASE('HELLO');
  
/* Convert the string into upper case */
upcase_ = UPCASE('hello');
  
/* Reverse the string */
reverse_ = REVERSE('Hello');
  
/* Return the nth word */
nth_letter_ = SCAN('Learn SAS Now',2);
run;

proc print data = character_functions noobs;
run;

Quando viene eseguito il codice precedente, otteniamo il seguente output:

Funzioni di troncamento

Queste sono le funzioni utilizzate per troncare i valori numerici.

Esempi

Il seguente programma SAS mostra l'uso delle funzioni di troncamento.

data trunc_functions;

/* Nearest greatest integer */
ceil_ = CEIL(11.85);
  
/* Nearest greatest integer */
floor_ = FLOOR(11.85);
  
/* Integer portion of a number */
int_ = INT(32.41);
  
/* Round off to nearest value */
round_ = ROUND(5621.78);
run;

proc print data = trunc_functions noobs;
run;

Quando viene eseguito il codice precedente, otteniamo il seguente output:

Funzioni varie

Vediamo ora di comprendere le varie funzioni di SAS con alcuni esempi.

Esempi

Il programma SAS di seguito mostra l'uso di funzioni varie.

data misc_functions;

/* Nearest greatest integer */
state2=zipstate('01040');
 
/* Amortization calculation */
payment = mort(50000, . , .10/12,30*12);

proc print data = misc_functions noobs;
run;

Quando viene eseguito il codice precedente, otteniamo il seguente output: