Publicado el :
Macro SASHELP

Creación dinámica de lista de variables macro horizontal

Este código también está disponible en: Deutsch English Français
Este script ilustra cómo crear una lista horizontal de valores almacenados en una variable macro durante la ejecución de un paso DATA. Utiliza la tabla SASHELP.CLASS para concatenar todos los nombres de los estudiantes, separados por una tilde, y también almacena el número total de estudiantes.
Análisis de datos

Type : SASHELP


Los datos provienen de la tabla estándar SASHELP.CLASS.

1 Bloque de código
DATA STEP
Explicación :
Este paso DATA _NULL_ recorre la tabla SASHELP.CLASS. La instrucción RETAIN y la función CATX permiten acumular los nombres en la variable 'student_list'. En la última observación (eof), CALL SYMPUTX asigna la lista completa y el número de observaciones (_n_) a variables macro.
¡Copiado!
1DATA _null_;
2 SET sashelp.class END=eof;
3 LENGTH student_list $200;
4 retain student_list;
5 student_list = catx('~',student_list,name);
6 IF eof THEN DO;
7 call symputx('STUDENT_LIST',student_list);
8 call symputx('NUM_STUDENTS',_n_);
9 END;
10RUN;
2 Bloque de código
SAS MACRO LANGUAGE
Explicación :
Muestra el contenido de las variables macro creadas (&NUM_STUDENTS y &STUDENT_LIST) en el registro SAS para su verificación. La opción 'nosource' se utiliza para limpiar la salida del registro.
¡Copiado!
1options nosource;
2%put ======================;
3%put Number of Students: &NUM_STUDENTS;
4%put Student List: &STUDENT_LIST;
5%put ======================;
6options SOURCE;
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.
Información de copyright : Instructor : Josh Horstman