Publicado el :
Macro SASHELP

Segmentación dinámica de datos a través de Variables Macro

Este código también está disponible en: Deutsch English Español Français
En espera de validación
Este programa define una macro 'split_data'. Utiliza PROC SQL para identificar todos los valores únicos de la columna ORIGIN de la tabla SASHELP.CARS y los almacena en una serie de variables macro numeradas (lista vertical). Luego se inicia un bucle %DO para iterar sobre estos valores. Nota: El código proporcionado es un ejercicio para completar, ya que las instrucciones dentro del bucle contienen valores codificados ('Asia') que están destinados a ser reemplazados por referencias macro dinámicas (&&var&i).
Análisis de datos

Type : SASHELP


Utiliza la tabla de ejemplo estándar SASHELP.CARS.

1 Bloque de código
PROC SQL
Explicación :
Selecciona los valores distintos de la columna ORIGIN y los almacena en variables macro incrementales (:ORIGIN1, :ORIGIN2, etc.). La variable automática &sqlobs se recupera para conocer el número total de orígenes.
¡Copiado!
1 * Create the vertical macro variable list.;
2 PROC SQL noprint;
3 select distinct origin into :ORIGIN1-
4 from sashelp.cars;
5 %let NUM_ORIGINS = &sqlobs;
6 QUIT;
2 Bloque de código
DATA STEP Data
Explicación :
Bucle macro iterativo destinado a crear una tabla para cada origen. En el estado actual (ejercicio sin resolver), sobrescribe repetidamente la tabla 'cars_asia' con los datos filtrados por 'Asia'. El objetivo es reemplazar 'Asia' por &&ORIGIN&i.
¡Copiado!
1 /* Replace both hard-coded values of ASIA below using the a reference
2 to a vertical macro variable list. */
3 
4 %DO i = 1 %to &NUM_ORIGINS;
5 DATA cars_asia; * CHANGE THIS LINE ;
6 SET sashelp.cars;
7 where origin = "Asia"; * CHANGE THIS LINE ;
8 RUN;
9 %END;
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