Publicado el :
Macro SASHELP

Generación de Diccionario de Datos (CodeBook) mediante Macro

Este código también está disponible en: Deutsch English Français
En espera de validación
Esta macro 'MakeCodeBook' automatiza la documentación de las tablas SAS©. Utiliza PROC CONTENTS para recuperar la lista de variables y sus atributos, captura la salida ODS 'Variables' en una tabla, ordena los resultados por el orden lógico de las variables (num), y exporta el resultado final a un archivo CSV en la ubicación especificada.
Análisis de datos

Type : SASHELP


La macro por defecto apunta a la tabla 'sashelp.class', pero puede ser redirigida a cualquier tabla mediante los parámetros 'dslib' y 'dsname'.

1 Bloque de código
PROC CONTENTS Data
Explicación :
Inicialización de la macro y extracción de metadatos. La instrucción 'ods output Variables=CodeBook' captura la tabla de salida de PROC CONTENTS que contiene la lista de variables en la tabla SAS temporal 'CodeBook'.
¡Copiado!
1%macro MakeCodeBook(dslib=sashelp,dsname=class,outdir=);
2 ods OUTPUT Variables=CodeBook;
3 PROC CONTENTS DATA=&dslib..&dsname;
4 RUN;
2 Bloque de código
PROC SORT
Explicación :
Ordenamiento de la tabla de metadatos 'CodeBook' por la variable 'num', que representa el orden físico de las variables en la tabla original.
¡Copiado!
1 PROC SORT DATA=CodeBook;
2 BY num;
3 RUN;
3 Bloque de código
PROC EXPORT
Explicación :
Exportación de la tabla de metadatos ordenada a un archivo CSV externo. La ruta de salida se construye dinámicamente utilizando los parámetros de la macro.
¡Copiado!
1 PROC EXPORT DATA=CodeBook
2 outfile="&outdir/&dsname._CodeBook.csv"
3 dbms=csv replace;
4 RUN;
5%mend MakeCodeBook;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.