Publicado el :
Macro EXTERNE

Macro AHGworkout: Copia y filtrado de tablas

Este código también está disponible en: Deutsch English Français
En espera de validación
Esta macro automatiza la copia de tablas SAS©. Acepta una biblioteca fuente (fromlib) y una lista de tablas (dsns). Si la lista está vacía, intenta poblarla automáticamente a través de una macro externa (%AHGdsnInLib). Para cada tabla, genera un Data Step que copia los datos a la biblioteca objetivo (tolib), añadiendo opcionalmente un prefijo (pre) al nombre de la tabla y aplicando un filtro WHERE.
Análisis de datos

Type : EXTERNE


Los datos se leen de la biblioteca especificada por el parámetro macro &fromlib. El código depende de macros de usuario no proporcionadas aquí (AHGblank, AHGdsnInLib, AHGcount).

1 Bloque de código
DATA STEP Data
Explicación :
Definición de la macro. Utiliza un bucle %DO para iterar sobre la lista de tablas y generar dinámicamente pasos DATA para realizar la copia y el filtrado.
¡Copiado!
1%macro AHGworkout(fromlib,dsns,tolib=work,pre=,where=%str(where 1));
2 %IF %AHGblank(&dsns) %THEN %AHGdsnInLib(lib=&fromlib,list=dsns,lv=1);;
3/* data &tolib..*/
4 %local i;
5 %DO i=1 %to %AHGcount(&dsns);
6 DATA &tolib..&pre%scan(&dsns,&i);
7 SET &fromlib..%scan(&dsns,&i);
8 &where ;
9 RUN;
10 %END;
11 
12%mend;
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.