Publicado el :
Manipulación de Datos CREATION_INTERNE

Ejemplos: Procesamiento de 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 en SAS© es una característica potente que permite procesar datos de forma selectiva. Al usar la instrucción BY en un paso DATA, se pueden organizar las observaciones en grupos basados en los valores de una o varias variables. Esto facilita la ejecución de operaciones específicas (cálculos, agregaciones, etc.) para cada grupo de datos, mejorando así la eficiencia y la claridad del código. El procedimiento SORT se utiliza generalmente antes del procesamiento de grupos BY para ordenar los datos según las variables BY, ya que esto es un requisito fundamental. La opción OUT= de PROC SORT permite crear un nuevo conjunto de datos ordenado, aunque en algunos ejemplos, el conjunto de datos original puede ser reemplazado. El documento explora casos de uso con una sola variable BY, varias variables BY y la opción GROUPFORMAT para la gestión de formatos personalizados.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados a través de datalines, asegurando su autonomía.

1 Bloque de código
DATA STEP / PROC SORT Data
Explicación :
Este ejemplo muestra cómo agrupar datos utilizando una sola variable BY, `zipCode`, en un paso DATA. El conjunto de datos `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. La figura muestra cinco grupos BY que se crean.
¡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 Data
Explicación :
Este ejemplo muestra los resultados del procesamiento del conjunto de datos `zip` con dos variables BY, State y City. La figura muestra tres grupos BY. El conjunto de datos se muestra con las variables BY State y City impresas a la izquierda para facilitar la lectura. La posición de las variables BY en las observaciones no afecta la forma en que los valores se agrupan y ordenan.

Las observaciones se organizan de tal manera que las observaciones para Arizona aparecen primero. Las observaciones dentro de cada valor de State se organizan por el orden del valor de City. Cada grupo BY tiene una combinación única de valores para las variables State y City. Por ejemplo, el valor BY del primer grupo BY es `AZ Tucson`, y el valor BY del segundo grupo BY es `FL Lakeland`.
¡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 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 ejemplo utiliza la opción GROUPFORMAT y la instrucción FORMAT para crear e imprimir un conjunto de datos simple.

Ideas clave:
- El procesamiento de grupos BY en el paso DATA utilizando la opción GROUPFORMAT es el mismo que el procesamiento de grupos BY con valores formateados en los procedimientos SAS. El uso de la opción GROUPFORMAT es útil cuando se definen formatos propios para mostrar datos agrupados.
- El uso de la opción GROUPFORMAT en el paso DATA garantiza que los grupos BY que se utilizan para crear un conjunto de datos coincidan con los grupos BY en los pasos PROC que informan datos agrupados y formateados. GROUPFORMAT también determina cómo se asignan las variables FIRST.variable y LAST.variable.
¡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