Veröffentlicht am :
ETL SASHELP

Verständnis der SUM-Anweisung und Akkumulation

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript vergleicht drei Techniken zur Berechnung einer laufenden Summe (Running Total) der Variable 'age' aus der Tabelle sashelp.class. Es zeigt die Äquivalenz und Nuancen zwischen der RETAIN-Anweisung in Kombination mit einer einfachen Addition, der SAS©-Summenanweisung (Variable+Ausdruck) und der Verwendung der SUM-Funktion mit RETAIN.
Datenanalyse

Type : SASHELP


Die Daten stammen aus der Standard-Beispieltabelle SASHELP.CLASS.

1 Codeblock
DATA STEP Data
Erklärung :
Verwendung der RETAIN-Anweisung, um den Wert von 'totage' von einer Beobachtung zur nächsten beizubehalten, initialisiert mit 0, und manuelle Addition des Alters.
Kopiert!
1DATA totalage;
2 SET sashelp.class;
3 retain totage 0;
4 totage = totage+age;
5 RUN;
2 Codeblock
DATA STEP Data
Erklärung :
Verwendung der Summenanweisung (Sum Statement) 'Variable+Ausdruck'. Diese Syntax impliziert automatisch ein RETAIN und behandelt fehlende Werte als Nullen für die Akkumulation.
Kopiert!
1DATA totalage;
2 SET sashelp.class;
3 totage+age;
4 RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Verwendung der SUM-Funktion mit einem expliziten RETAIN. Die SUM-Funktion ignoriert fehlende Werte, im Gegensatz zum einfachen '+' Operator, der im ersten Beispiel verwendet wurde.
Kopiert!
1DATA totalage;
2 SET sashelp.class;
3 retain totage 0;
4 totage = sum(totage,age);
5 RUN;
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.