Publicado el :
Manipulación de Datos CREATION_INTERNE

Ejemplos: Procesamiento WHERE

Este código también está disponible en: English Français
En espera de validación
Detalla las diferentes formas de aplicar filtros de datos utilizando la cláusula WHERE en los pasos DATA y las opciones del conjunto de datos, enfatizando la importancia del orden de las operaciones para expresiones complejas y la eficiencia del procesamiento CAS. También cubre el impacto del uso de índices para mejorar el rendimiento.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) o SASHELP.

1 Bloque de código
DATA STEP / PROC PRINT Data
Explicación :
Este primer ejemplo utiliza la instrucción WHERE en un paso DATA para filtrar las filas de la tabla `sashelp.shoes` donde las ventas son mayores o iguales a 500.000. Los resultados se guardan en `mylib.shoes`. Un segundo paso DATA filtra entonces `mylib.shoes` para retener solo las ventas de la región 'Canada' y almacena el resultado en `mylib.shoes2`. Ambas tablas se muestran luego a través de `PROC PRINT`.
¡Copiado!
1LIBNAME mylib ;
2 
3DATA mylib.shoes;
4 SET sashelp.shoes;
5 where Sales>=500000;
6RUN;
7PROC PRINT DATA=mylib.shoes;
8 var Region Product Sales;
9 RUN;
10 
11DATA mylib.shoes2;
12 SET mylib.shoes;
13 where Region="Canada";
14RUN;
15 
16PROC PRINT DATA=mylib.shoes2;
17 var Region Product Sales;
18RUN;
2 Bloque de código
DATA STEP / PROC PRINT Data
Explicación :
Este ejemplo utiliza una expresión WHERE compuesta con el operador AND para seleccionar filas en la tabla `mylib.shoes` (presumiblemente cargada en CAS) donde las ventas son mayores o iguales a 500.000 Y la región es 'Canada'. Solo se conservan las variables Region, Product y Sales. El resultado se muestra luego a través de `PROC PRINT`.
¡Copiado!
1 
2DATA mylib.shoes;
3 SET mylib.shoes;
4 where Sales>=500000 and Region="Canada";
5 keep Region Product Sales;
6RUN;
7 
8PROC PRINT DATA=mylib.shoes; RUN;
3 Bloque de código
DATA STEP / PROC PRINT Data
Explicación :
Este bloque filtra los individuos de la tabla `sashelp.class` que son de sexo masculino Y tienen 15 años o más.
¡Copiado!
1DATA class;
2 SET sashelp.class;
3 where sex="M" and age >= 15;
4RUN;
5PROC PRINT DATA=class;
6RUN;
4 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1DATA class;
2 SET sashelp.class;
3 where sex="M" or age>=15;
4RUN;
5PROC PRINT DATA=class;
6 title 'OR finds all Males and Anyone 15 Years or Older';
7RUN;
5 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1DATA class;
2 SET sashelp.class;
3 where age < 15 and sex NE "M";
4RUN;
5PROC PRINT DATA=class;
6 title 'Finds Females
7 Older less than 15 Years';
8RUN;
6 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1DATA class;
2 SET sashelp.class;
3 where age>15 or height<60 and sex="F";
4RUN;
5PROC PRINT DATA=class;
6 title 'age > 15 OR height < 60 AND sex = F';
7RUN;
7 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1DATA class;
2 SET sashelp.class;
3 where (age>15 or height<60) and sex="F";
4RUN;
5PROC PRINT DATA=class;
6 title '(age > 15 OR height < 60) AND sex = F';
7RUN;
8 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1DATA sales;
2 SET sashelp.shoes(where=(Region="Canada" and Sales<2000));
3RUN;
4PROC PRINT DATA=sales; RUN;
9 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1/* Specify the WHERE= data set option on the output CAS
2 table (unsupported for CAS DATA step processing) */
3 
4DATA mylib.sales(where=(Region="Canada" and Sales<2000));
5 SET mylib.shoes;
6RUN;
7PROC PRINT DATA=mylib.sales; RUN;
10 Bloque de código
DATA STEP / PROC PRINT Data
¡Copiado!
1DATA mybaseball(index=(team));
2 SET sashelp.baseball;
3RUN;
4 
5DATA mybaseball;
6 SET sashelp.baseball;
7 where Team="Atlanta";
8 keep Name Team Position;
9RUN;
10PROC PRINT DATA=mybaseball; RUN;
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.