SAS: Procedimiento proc contents


El procedimiento proc contents sirve para obtener información de las tablas y librerías. Produce un informe que puede presentarse en la pestaña output de SAS Enterprise Guide o puede volcarse todo en una tabla con el parámetro out=. Volcar esa información en una tabla permite utilizar la información recogida en tiempo de ejecución.
Pero, vamos a empezar por el principio:

proc contents data=SASHELP.CLASS;
run;

En este ejemplo utilizamos la tabla CLASS de la librería de ejemplos de SAS (SASHELP) que está presente en las instalaciones de SAS por defecto para obtener un informe en la pestaña «output» del contenido de la tabla. Entre otras cosas que no incluyo aparece un listado de los campos de la tabla:

Podemos enviar este listado de campos, junto con otra información adicional relevante a una tabla SAS, en vez de a ese informe. Para ello determinamos una tabla de salida con out=. Y como no nos interesa la salida en el informe, además incluimos el parámetro noprint:

proc contents data=SASHELP.CLASS
    out=SALIDA noprint;
run;

En la tabla que hemos obtenido tendremos la siguiente información (entre otra):

Variable Explicación
LIBNAME Nombre de la librería donde se encuentra la tabla.
NAME Nombre del campo de la tabla.
TYPE Código numérico que indica de que tipo es la variable. 1 = numérico o fecha y 2 = texto.
LENGTH Tamaño del campo en bytes.
VARNUM El número de orden de la variable dentro de la tabla. Es recomendable ordenar la salida por esta variable.

Podremos utilizar la información aquí almacenada para saber por ejemplo si la tabla que hemos cargado tiene un campo ID como número o como texto; o si una fecha que hemos importado ha quedado como fecha o simplemente se ha quedado como una cadena de texto. Podremos resolver esos problemas de importación desde aquí.
En siguientes artículos explicaré como podemos solucionar cada uno de esos problemas en un artículo con un código SAS completo.