Publicado el :
ETL CREATION_INTERNE

Ejemplos: Concatenar datos

Este código también está disponible en: Deutsch English
En espera de validación
El análisis funcional de este documento se centra en tres métodos principales para concatenar conjuntos de datos SAS©. La instrucción SET se utiliza para leer secuencialmente observaciones de múltiples conjuntos de datos de entrada en un único conjunto de datos de salida, agregando las observaciones una tras otra. PROC SQL utiliza la cláusula OUTER UNION CORRESPONDING para combinar las filas de dos tablas, superponiendo las variables comunes. Finalmente, PROC APPEND se utiliza para agregar observaciones de un conjunto de datos al final de un conjunto de datos existente, sin crear un nuevo conjunto de datos. También se abordan consideraciones sobre el manejo de variables no comunes y el uso de la opción OPEN=DEFER.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) para los conjuntos de datos 'animal', 'plant', 'Year1' y 'Year2', y 'Table1' y 'Table2'.

1 Bloque de código
DATA STEP Data
Explicación :
Este ejemplo utiliza la instrucción SET para concatenar dos conjuntos de datos ('animal' y 'plant') en un único conjunto de datos de salida ('concatenate'). Las observaciones de 'animal' se colocan antes que las de 'plant'. Las variables comunes ('common') se manejan, y las variables no comunes se rellenan con valores faltantes. El ejemplo muestra la creación de los conjuntos de datos 'animal' y 'plant' utilizando datalines para hacerlos autónomos.
¡Copiado!
1DATA animal;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5b Bird
6c Cat
7d Dog
8e Eagle
9f Frog
10;
11RUN;
12 
13DATA plant;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19d Dewberry
20e Eggplant
21f Fig
22;
23RUN;
24 
25DATA concatenate;
26 SET animal plant;
27RUN;
28PROC PRINT DATA=concatenate;
29RUN;
2 Bloque de código
PROC SQL Data
Explicación :
Este ejemplo utiliza PROC SQL con la instrucción OUTER UNION CORRESPONDING para concatenar los conjuntos de datos 'animal' y 'plant'. Esto combina todas las filas de ambas tablas y superpone las variables comunes. El resultado se almacena en una nueva tabla llamada 'combined'. Los conjuntos de datos 'animal' y 'plant' se crean utilizando datalines para asegurar la autonomía del ejemplo.
¡Copiado!
1DATA animal;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5b Bird
6c Cat
7d Dog
8e Eagle
9f Frog
10;
11RUN;
12 
13DATA plant;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19d Dewberry
20e Eggplant
21f Fig
22;
23RUN;
24 
25PROC SQL;
26 create TABLE combined as
27 select * from animal
28 outer union corresponding
29 select * from plant;
30QUIT;
3 Bloque de código
PROC APPEND Data
Explicación :
Este ejemplo demuestra el uso de PROC APPEND para agregar observaciones del conjunto de datos 'Year2' al final del conjunto de datos 'Year1'. A diferencia de la instrucción SET, PROC APPEND modifica directamente el conjunto de datos 'BASE=' ('Year1' aquí) y no crea un nuevo conjunto de datos. Los conjuntos de datos 'Year1' y 'Year2' se crean con datalines.
¡Copiado!
1DATA Year1;
2 INPUT Date;
3 DATALINES;
42009
52010
62011
72012
8;
9RUN;
10 
11DATA Year2;
12 INPUT Date;
13 DATALINES;
142010
152011
162012
172013
182014
19;
20RUN;
21 
22PROC APPEND base=Year1 DATA=Year2;
23RUN;
24PROC PRINT DATA=Year1;
25 title "Year1";
26RUN;
4 Bloque de código
DATA STEP Data
Explicación :
Este ejemplo ilustra cómo la opción OPEN=DEFER en la instrucción DATA puede utilizarse para generar un mensaje en el registro SAS cuando hay variables en los conjuntos de datos de entrada que no están presentes en el primer conjunto de datos leído. Primero muestra la concatenación sin OPEN=DEFER, donde las variables faltantes simplemente se rellenan con valores faltantes. Luego, muestra el mismo proceso con OPEN=DEFER, lo que resulta en la ignorancia de variables adicionales y una advertencia en el registro. Los conjuntos de datos 'Table1' y 'Table2' se crean utilizando datalines.
¡Copiado!
1DATA Table1;
2 INPUT var1 var2 var3;
3 DATALINES;
41 10 100
52 20 200
63 30 300
74 40 400
8;
9RUN;
10 
11DATA Table2;
12 INPUT var1 var2 var3 predict lowermean;
13 DATALINES;
145 50 500 0.5 0.1
156 60 600 0.6 0.2
167 70 700 0.7 0.3
178 80 800 0.8 0.4
18;
19RUN;
20 
21DATA concat;
22 SET table1 table2;
23RUN;
24PROC PRINT DATA=concat;
25 title "Concatenate Table1 and Table2";
26RUN;
27 
28DATA concat2;
29 SET table1 table2 open=defer;
30RUN;
31PROC PRINT DATA=concat2;
32 title "Concatenate with OPEN=DEFER";
33RUN;
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