Publié le :
ETL SASHELP

Partitionnement et Tri DATA Step sous CAS

Ce code est également disponible en : Deutsch English Español
En attente de validation
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é !
1LIBNAME CASWORK cas caslib=casuser;
2options USER = CASWORK;
3caslib _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é !
1DATA caswork.baseball(partition=(div row_order) orderby=(div row_order));
2 SET sashelp.baseball;
3 row_order = _n_;
4RUN;
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é !
1DATA caswork.baseball2;
2 SET caswork.baseball;
3 retain count;
4 BY DIV TEAM;
5 IF first.team THEN
6 count=0;
7 count+1;
8RUN;
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.
Informations de Copyright : Copyright © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0