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!
* Create the vertical macro variable list.;
proc sql noprint;
select distinct origin into :ORIGIN1-
from sashelp.cars;
%let NUM_ORIGINS = &sqlobs;
quit;
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!
/* Replace both hard-coded values of ASIA below using the a reference
to a vertical macro variable list. */
%do i = 1 %to &NUM_ORIGINS;
data cars_asia; * CHANGE THIS LINE ;
set sashelp.cars;
where origin = "Asia"; * CHANGE THIS LINE ;
run;
%end;
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
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.