Publié le :
ETL SASHELP

Comprendre l'instruction SUM et l'accumulation

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script compare trois techniques pour calculer une somme courante (running total) de la variable 'age' issue de la table sashelp.class. Il démontre l'équivalence et les nuances entre l'instruction RETAIN combinée à une addition simple, l'instruction de somme SAS© (variable+expression) et l'utilisation de la fonction SUM avec RETAIN.
Analyse des données

Type : SASHELP


Les données proviennent de la table d'exemple standard SASHELP.CLASS.

1 Bloc de code
DATA STEP Data
Explication :
Utilisation de l'instruction RETAIN pour conserver la valeur de 'totage' d'une observation à l'autre, initialisée à 0, et ajout manuel de l'âge.
Copié !
1DATA totalage;
2 SET sashelp.class;
3 retain totage 0;
4 totage = totage+age;
5 RUN;
2 Bloc de code
DATA STEP Data
Explication :
Utilisation de l'instruction de somme (Sum Statement) 'variable+expression'. Cette syntaxe implique automatiquement un RETAIN et gère les valeurs manquantes comme des zéros pour l'accumulation.
Copié !
1DATA totalage;
2 SET sashelp.class;
3 totage+age;
4 RUN;
3 Bloc de code
DATA STEP Data
Explication :
Utilisation de la fonction SUM avec un RETAIN explicite. La fonction SUM ignore les valeurs manquantes, contrairement à l'opérateur '+' simple utilisé dans le premier exemple.
Copié !
1DATA totalage;
2 SET sashelp.class;
3 retain totage 0;
4 totage = sum(totage,age);
5 RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.