Ce script configure une session CAS et charge la table SASHELP.BASEBALL dans la mémoire CAS. Il démontre l'utilisation des options de dataset 'partition=' et 'orderby=' pour organiser physiquement les données sur les nœuds de calcul, ce qui optimise les traitements ultérieurs par groupe (BY). Un second DATA Step illustre cette utilisation avec un calcul de compteur cumulatif (RETAIN) par équipe.
Analyse des données
Type : SASHELP
Les données sources proviennent de la bibliothèque standard SASHELP (table BASEBALL).
1 Bloc de code
CONFIGURATION
Explication : Initialisation de la connexion CAS. Crée un libref 'CASWORK' pointant vers la caslib 'casuser', le définit comme bibliothèque par défaut (USER), et assigne toutes les caslibs visibles.
Copié !
libname CASWORK cas caslib=casuser;
options USER = CASWORK;
caslib _all_ assign;
%put &_sessref_;
1
LIBNAME CASWORK cas caslib=casuser;
2
options USER = CASWORK;
3
caslib _all_ assign;
4
%put &_sessref_;
2 Bloc de code
DATA STEP Data
Explication : Création d'une table CAS partitionnée et triée. L'option 'partition' distribue les données par division et ordre de ligne, et 'orderby' assure le tri au sein des partitions, optimisant les accès futurs.
Copié !
data caswork.baseball(partition=(div row_order) orderby=(div row_order));
set sashelp.baseball;
row_order = _n_;
run;
1
DATA caswork.baseball(partition=(div row_order) orderby=(div row_order));
2
SET sashelp.baseball;
3
row_order = _n_;
4
RUN;
3 Bloc de code
DATA STEP Data
Explication : Traitement des données par groupe (BY DIV TEAM). Calcule un compteur séquentiel pour chaque équipe en utilisant l'instruction RETAIN et la variable automatique first.team.
Copié !
data caswork.baseball2;
set caswork.baseball;
retain count;
BY DIV TEAM;
if first.team then
count=0;
count+1;
run;
1
DATA caswork.baseball2;
2
SET caswork.baseball;
3
retain count;
4
BY DIV TEAM;
5
IF first.team THEN
6
count=0;
7
count+1;
8
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.