Veröffentlicht am :
Datenmanipulation CREATION_INTERNE

Beispiele: Datenaktualisierung

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Die UPDATE-Anweisung ist ein mächtiges Werkzeug für die Pflege von Datensätzen. Sie erfordert eine BY-Anweisung und dass die Eingangsdatensätze nach den BY-Variablen sortiert oder indiziert sind. Die Flexibilität der UPDATE-Anweisung ermöglicht das Hinzufügen, Löschen oder Umbenennen von Variablen im Ausgabedatensatz. Standardmäßig ersetzen fehlende Werte im Transaktionsdatensatz keine vorhandenen Werte im Master-Datensatz, dieses Verhalten kann jedoch mit der Option UPDATEMODE=NOMISSINGCHECK geändert werden. Es ist entscheidend sicherzustellen, dass die Werte der BY-Variablen im Master-Datensatz eindeutig sind, da Duplikate zu teilweisen Aktualisierungen führen können.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP.

1 Codeblock
DATA STEP Data
Erklärung :
Dieses Beispiel veranschaulicht die Aktualisierung eines Master-Datensatzes ('master') mit neuen Werten aus einem Transaktionsdatensatz ('plantNew') unter Verwendung der UPDATE-Anweisung und der Variable 'common' als BY-Variable. Der Wert 'Eggplant' für 'plant' in Zeile 5 von 'master' wird durch 'Escarole' aus 'plantNew' ersetzt.
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung :
Dieses Beispiel demonstriert das Verhalten der UPDATE-Anweisung, wenn der Transaktionsdatensatz ('plantNewDupes') doppelte Werte für die BY-Variable ('common') enthält. Der Wert 'Dewberry' wird durch 'Dill' ersetzt, da 'Dill' der letzte Wert für 'plant' ist, der 'd' im Transaktionsdatensatz zugeordnet ist. Es ist wichtig zu beachten, dass wenn der Master-Datensatz Duplikate für die BY-Variable enthält, nur das erste Vorkommen aktualisiert wird und eine Warnung im SAS-Log ausgegeben wird.
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung :
Dieser erste Code veranschaulicht die Aktualisierung eines Master-Datensatzes ('master') mit einem Transaktionsdatensatz ('minerals'), der eine neue Variable ('mineral'), fehlende Werte und nicht übereinstimmende BY-Variablenwerte einführt. Die Variable 'mineral' wird hinzugefügt. Beobachtungen aus dem Transaktionsdatensatz ohne Übereinstimmung im Master werden als neue Beobachtungen hinzugefügt. Fehlende Werte im Transaktionsdatensatz ersetzen standardmäßig keine vorhandenen Werte im Master-Datensatz.
Kopiert!
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 Codeblock
DATA STEP
Erklärung :
Dieser zweite Code, basierend auf den Datensätzen von Beispiel 3.1, zeigt, wie die Option UPDATEMODE=NOMISSINGCHECK es ermöglicht, dass fehlende Werte im Transaktionsdatensatz die entsprechenden Werte im Master-Datensatz ersetzen. Hier wird der Wert von 'plant' in Beobachtung 5 als fehlend definiert, da er im Transaktionsdatensatz 'minerals' fehlt und die Option aktiviert ist.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.