Entradas

Mostrando entradas de abril, 2015

Ampliando la funcionalidad de las macros de SAS: %sysfunc

Imagen
Cuando trabajamos con SAS/BASE es bastante común el uso de macro lenguaje.



El lenguaje macro nos permite dotar al código SAS de pasos data de distintas capacidades, entre ellas:

- Parametrizar y automatizar procesos . Replicarlos en base a parámetros
- Encapsular y reutilizar procesos
- Lanzar procesos de forma iterativa
- Crear macros de uso común
- Crear ramas de ejecución en base a sentencias condicionales



Una forma de ampliar las funcionalidades del lenguaje macro es el empleo de la función macro %SYSFUNC que nos permite emplear funciones propias de los pasos data de SAS en el entorno macro.

A continuación algunos ejemplos de uso de la función %sysfunc.

%let fecha1 = %sysfunc(date(),ddmmyy8.);  /* Obtenemos la fecha del sistema */

%put fecha1 = &fecha1;

%let fecha2 = %sysfunc(intnx(day,%sysfunc(date()),1),ddmmyy8.); /* Desplazamos la fecha del sistema en 1 día */

%put fecha2 = &fecha2;

%let var1 = PRUEBA;

%let var2 = %sysfunc(translate(&var1.,N, P));  /* Reemplazar caracter P por n …