SAS - Funciones

SAS tiene una amplia variedad de funciones integradas que ayudan a analizar y procesar los datos. Estas funciones se utilizan como parte de las declaraciones DATA. Toman las variables de datos como argumentos y devuelven el resultado que se almacena en otra variable. Dependiendo del tipo de función, la cantidad de argumentos que toma puede variar. Algunas funciones aceptan cero argumentos mientras que otras aceptan un número fijo de variables. A continuación se muestra una lista de los tipos de funciones que proporciona SAS.

Sintaxis

La sintaxis general para usar una función en SAS es la siguiente.

FUNCTIONNAME(argument1, argument2...argumentn)

Aquí el argumento puede ser una constante, variable, expresión u otra función.

Categorías de funciones

Dependiendo de su uso, las funciones en SAS se clasifican de la siguiente manera.

  • Mathematical
  • Fecha y hora
  • Character
  • Truncation
  • Miscellaneous

Funciones Matemáticas

Estas son las funciones que se utilizan para aplicar algunos cálculos matemáticos sobre los valores de las variables.

Ejemplos

El siguiente programa SAS muestra el uso de algunas funciones matemáticas importantes.

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;

Cuando se ejecuta el código anterior, obtenemos el siguiente resultado:

Funciones de fecha y hora

Estas son las funciones que se utilizan para procesar los valores de fecha y hora.

Ejemplos

El siguiente programa SAS muestra el uso de funciones de fecha y hora.

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;

Cuando se ejecuta el código anterior, obtenemos el siguiente resultado:

Funciones de los personajes

Estas son las funciones que se utilizan para procesar caracteres o valores de texto.

Ejemplos

El siguiente programa SAS muestra el uso de funciones de caracteres.

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;

Cuando se ejecuta el código anterior, obtenemos el siguiente resultado:

Funciones de truncamiento

Estas son las funciones que se utilizan para truncar valores numéricos.

Ejemplos

El siguiente programa SAS muestra el uso de funciones de truncamiento.

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;

Cuando se ejecuta el código anterior, obtenemos el siguiente resultado:

Funciones misceláneas

Entendamos ahora las diversas funciones de SAS con algunos ejemplos.

Ejemplos

El siguiente programa SAS muestra el uso de funciones varias.

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;

Cuando se ejecuta el código anterior, obtenemos el siguiente resultado: