Publicado el :
Manipulación de Datos CREATION_INTERNE

Ejemplos: Actualización de datos

Este código también está disponible en: Deutsch English Français
En espera de validación
La instrucción UPDATE es una herramienta poderosa para el mantenimiento de conjuntos de datos. Requiere una instrucción BY y que los conjuntos de datos de entrada estén ordenados o indexados por las variables BY. La flexibilidad de la instrucción UPDATE permite agregar, eliminar o renombrar variables en el conjunto de datos de salida. Por defecto, los valores faltantes en el conjunto de datos de transacciones no reemplazan los valores existentes en el conjunto de datos maestro, pero este comportamiento puede modificarse con la opción UPDATEMODE=NOMISSINGCHECK. Es crucial asegurarse de que los valores de la variable BY sean únicos en el conjunto de datos maestro, ya que los duplicados pueden resultar en actualizaciones parciales.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) o SASHELP.

1 Bloque de código
DATA STEP Data
Explicación :
Este ejemplo ilustra la actualización de un conjunto de datos maestro ('master') con nuevos valores de un conjunto de datos de transacciones ('plantNew') utilizando la instrucción UPDATE y la variable 'common' como variable BY. El valor 'Eggplant' para 'plant' en la línea 5 de 'master' es reemplazado por 'Escarole' de 'plantNew'.
¡Copiado!
1DATA master;
2 INPUT common $ animal $ plant $;
3 DATALINES;
4a Ant Apple
5b Bird Banana
6c Cat Coconut
7d Dog Dewberry
8e Eagle Eggplant
9f Frog Fig
10;
11RUN;
12 
13DATA plantNew;
14 INPUT common $ plant $;
15 DATALINES;
16a Apricot
17b Barley
18c Cactus
19d Date
20e Escarole
21f Fennel
22;
23RUN;
24 
25DATA master2;
26 update master plantNew;
27 BY common;
28RUN;
29PROC PRINT DATA=master2; RUN;
2 Bloque de código
DATA STEP Data
Explicación :
Este ejemplo demuestra el comportamiento de la instrucción UPDATE cuando el conjunto de datos de transacciones ('plantNewDupes') contiene valores duplicados para la variable BY ('common'). El valor 'Dewberry' es reemplazado por 'Dill', ya que 'Dill' es el último valor para 'plant' asociado con 'd' en el conjunto de datos de transacciones. Es importante tener en cuenta que si el conjunto de datos maestro contiene duplicados para la variable BY, solo se actualiza la primera ocurrencia y se emite una advertencia en el registro de SAS.
¡Copiado!
1DATA master;
2 INPUT common $ animal $ plant $;
3 DATALINES;
4a Ant Apple
5b Bird Banana
6c Cat Coconut
7d Dog Dewberry
8e Eagle Eggplant
9f Frog Fig
10;
11RUN;
12 
13DATA plantNewDupes;
14 INPUT common $ plant $;
15 DATALINES;
16a Apricot
17b Barley
18c Cactus
19d Date
20d Dill
21e Escarole
22f Fennel
23;
24RUN;
25 
26DATA master;
27 update master plantNewDupes;
28 BY common;
29RUN;
30PROC PRINT DATA=master; RUN;
3 Bloque de código
DATA STEP Data
Explicación :
Este primer código ilustra la actualización de un conjunto de datos maestro ('master') con un conjunto de datos de transacciones ('minerals') que introduce una nueva variable ('mineral'), valores faltantes y valores de variable BY no coincidentes. Se agrega la variable 'mineral'. Las observaciones del conjunto de datos de transacciones sin correspondencia en el maestro se añaden como nuevas observaciones. Los valores faltantes en el conjunto de datos de transacciones no reemplazan los valores existentes en el conjunto de datos maestro por defecto.
¡Copiado!
1DATA master;
2 INPUT common $ animal $ plant $;
3 DATALINES;
4a Ant .
5c Cat Coconut
6d Dog Dewberry
7e Eagle Eggplant
8f Frog Fig
9;
10RUN;
11 
12DATA minerals;
13 INPUT common $ plant $ mineral $;
14 DATALINES;
15a Apricot Amethyst
16b Barley Beryl
17c Cactus .
18e . .
19f Fennel .
20g Grape Garnet
21;
22RUN;
23 
24DATA master;
25 update master minerals;
26 BY common;
27RUN;
28 
29PROC PRINT DATA=master; RUN;
4 Bloque de código
DATA STEP
Explicación :
Este segundo código, basado en los conjuntos de datos del ejemplo 3.1, muestra cómo la opción UPDATEMODE=NOMISSINGCHECK permite que los valores faltantes en el conjunto de datos de transacciones reemplacen los valores correspondientes en el conjunto de datos maestro. Aquí, el valor de 'plant' en la observación 5 se establecerá como faltante, ya que está faltante en el conjunto de datos de transacciones 'minerals' y la opción está activada.
¡Copiado!
1DATA master;
2 update master minerals updatemode=nomissingcheck;
3 BY common;
4RUN;
5PROC PRINT DATA=master;
6 title "Updated Data Set master";
7 title2 "With Values Updated to Missing";
8RUN;
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.