SAS INCLUDE para importar códigos al proyecto.

Programacion SAS 3

Encontré la forma de exportar las macros en archivos externos a los proyectos, de tal forma que cuando requiera funcionalidad de alguna macro la importo desde su ubicación. Esto me ayuda a modularizar el código, de tal forma que tenga piezas prefabricadas que construirán un ensamble de manera más rápida, modularizada y funcional.

 

Sintaxis:

filename NombreLibreria "CarpetaConRutaCompleta" ; 
%include NombreLibreria ("NombreArchivo.sas") ; 

En el trabajo desarrollo bastantes proyectos SAS. En promedio unos tres por día. Estos proyectos son como el ser humano, todos muy diferentes por fuera, pero comparten un 98% del código. En un intento de optimizar la elaboración de estos proyectos desarrolle funcionalidades en macros, pero seguía teniendo el mismo problema, copiaba y pegaba las macros en cada proyecto.

 

Ejemplo:

filename funciones "C:\WorkSAS\LibSAS\macros" ;
%include funciones("Funcionalidad1.sas") ;
%include funciones("Funcionalidad2.sas") ;

Ejecutando las macros que se encuentran en los archivos importados:

%NombreMacro1 (ParametroUnico) ;
%NombreMacro2 (Parametro1, Parametro2, etc) ;

 

Podrán decir que sigo haciendo la misma operación de copiar y pegar, solo que ahora de manera mas sofisticada, sin embargo creo que hay un pequeño beneficio. Todos los proyectos que realicé de esta manera, tendrá una referencia dinámica al código de la macro. En el momento en que esta macro tenga cambios para mejorar sus resultados y optimizar sus tiempos, todos los proyectos vinculados recibirán el beneficio.

 

Resultado:

Las funcionalidades genéricas, parametrizadas para obtener resultados específicos se encuentran almacenadas en archivos externos a los proyectos. Cuando alguna de estas funcionalidades sea requerida en un proyecto (nuevo o existente) bastara con importar el archivo adecuado. El mantenimiento a estos archivos afectara a todos los proyectos que los importaron.

 

Referencias:
http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#refextfile.htm
http://www.sfu.ca/sasdoc/sashtml/lgref/z0214504.htm

 

¿Que te parecio el contenido?