Publicado el :
Manipulación de Datos CREATION_INTERNE

Ejemplos: Procesar grupos BY en el paso DATA

Este código también está disponible en: Deutsch English Français
En espera de validación
El análisis de grupos BY es una funcionalidad fundamental en SAS© que permite segmentar y procesar datos en función de valores únicos o combinados de variables especificadas. Estos ejemplos muestran cómo se utiliza el procedimiento SORT para preparar los datos, seguido del paso DATA con la instrucción BY para la lógica de agrupación. También se detalla el uso de la opción GROUPFORMAT para escenarios en los que los datos se agrupan en función de valores formateados, asegurando la coherencia entre el paso DATA y los procedimientos de visualización.
Análisis de datos

Type : CREATION_INTERNE


Todos los ejemplos utilizan datos generados internamente a través de la instrucción DATALINES, garantizando su autonomía.

1 Bloque de código
DATA STEP / PROC SORT / PROC PRINT Data
Explicación :
Este ejemplo demuestra cómo agrupar datos utilizando una sola variable BY, `zipCode`, en un paso DATA. El conjunto de datos de entrada, `zip`, contiene nombres de calles, ciudades, estados y códigos postales. Los grupos se crean especificando la variable `zipCode` en la instrucción BY. El paso DATA organiza los códigos postales con los mismos valores en grupos.
¡Copiado!
1DATA zip;
2INPUT zipCode State $ City $ Street $20-29;
3DATALINES;
485730 AZ Tucson Domenic Ln
585730 AZ Tucson Gleeson Pl
633133 FL Miami Rice St
733133 FL Miami Thomas Ave
833133 FL Miami Surrey Dr
933133 FL Miami Trade Ave
1033146 FL Miami Nervia St
1133146 FL Miami Corsica St
1233801 FL Lakeland French Ave
1333809 FL Lakeland Egret Dr
14;
15 
16PROC SORT DATA=zip;
17 BY zipCode;
18RUN;
19 
20DATA zip;
21 SET zip;
22 BY zipCode;
23RUN;
24 
25PROC PRINT DATA=zip noobs;
26 title 'BY-Group Uing a Single Variable: ZipCode';
27RUN;
2 Bloque de código
DATA STEP / PROC SORT / PROC PRINT Data
Explicación :
Este ejemplo demuestra los resultados del procesamiento del conjunto de datos `zip` con dos variables BY, `State` (Estado) y `City` (Ciudad). Las observaciones se organizan de manera que las de Arizona aparecen primero. Las observaciones dentro de cada valor de `State` se organizan por orden de valor de `City`. Cada grupo BY tiene una combinación única de valores para las variables `State` y `City`.
¡Copiado!
1DATA zip;
2INPUT State $ City $ Street $13-22 ZipCode ;
3DATALINES;
4FL Miami Nervia St 33146
5FL Miami Rice St 33133
6FL Miami Corsica St 33146
7FL Miami Thomas Ave 33133
8FL Miami Surrey Dr 33133
9FL Miami Trade Ave 33133
10FL Lakeland French Ave 33801
11FL Lakeland Egret Dr 33809
12AZ Tucson Domenic Ln 85730
13AZ Tucson Gleeson Pl 85730
14;
15 
16 
17PROC SORT DATA=zip;
18 BY State City;
19RUN;
20 
21DATA zip;
22 SET zip;
23 BY State City;
24RUN;
25PROC PRINT DATA=zip noobs;
26 title 'BY Groups with Multiple BY Variables: State City';
27RUN;
3 Bloque de código
DATA STEP / PROC FORMAT / PROC PRINT Data
Explicación :
Este ejemplo utiliza el procedimiento `FORMAT`, la opción `GROUPFORMAT` y la instrucción `FORMAT` para crear e imprimir un conjunto de datos simple. El conjunto de datos de entrada `TEST` se ordena por valores crecientes. El conjunto de datos `NEWTEST` se organiza por los valores formateados de la variable `Score`. El procesamiento de los grupos BY en el paso DATA con la opción `GROUPFORMAT` es idéntico al procesamiento de los grupos BY con valores formateados en los procedimientos SAS, lo que es útil al definir formatos personalizados para mostrar datos agrupados.
¡Copiado!
1options
2linesize=80 pagesize=60;
3 
4DATA test;
5 INPUT name $ Score;
6DATALINES;
7Jon 1
8Anthony 3
9Miguel 3
10Joseph 4
11Ian 5
12Jan 6
13;
14PROC FORMAT;
15 value Range 1-2='Low'
16 3-4='Medium'
17 5-6='High';
18RUN;
19 
20DATA newtest;
21 SET test;
22 BY groupformat Score;
23 FORMAT Score Range.;
24RUN;
25 
26PROC PRINT DATA=newtest;
27 title 'Score Categories';
28 var Name Score;
29 BY Score;
30RUN;
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 : Copyright © SAS Institute Inc. All Rights Reserved