Le script initialise un environnement CAS en configurant une libname 'CASWORK' pour la caslib 'casuser' et en redirigeant les tables à un seul niveau vers cette caslib. Il charge ensuite le jeu de données 'sashelp.baseball' dans une table CAS nommée 'casuser.baseball'. Une étape de nettoyage supprime une table agrégée précédente ('casuser.baseball_groupby') si elle existe. Deux méthodes d'agrégation sont ensuite illustrées : la première utilise 'PROC FEDSQL' pour calculer la somme des coups ('nhits') groupée par division ('div') et équipe ('team') et stocke le résultat dans 'baseball_groupby'. La seconde approche utilise l'action CAS 'simple.groupBy' via 'PROC CAS' pour effectuer une agrégation similaire sur la table 'baseball' en sommant 'nhits' et en groupant par 'DIV' et 'TEAM', avec le résultat stocké dans 'casl_baseball_groupby'.
Analyse des données
Type : SASHELP
Le jeu de données source est 'sashelp.baseball', une table de démonstration intégrée à SAS. Cette table est ensuite copiée dans le moteur CAS sous 'casuser.baseball' pour permettre les opérations CAS.
1 Bloc de code
Configuration CAS
Explication : Ce bloc configure l'accès au moteur Cloud Analytic Services (CAS). Il définit une libname 'CASWORK' qui pointe vers la caslib 'casuser', permettant aux tables CAS d'être référencées comme des tables SAS. L'option 'options USER = CASWORK;' redirige la création de tables SAS à un seul niveau vers cette caslib CAS, assurant qu'elles sont créées dans CAS. Enfin, 'caslib _all_ assign;' garantit que toutes les caslibs sont activées et prêtes à l'emploi.
Copié !
/* CAS Enabled */
/* CASL GROUPBY Action Example */
/* LIBNAME using the CAS engine */
libname CASWORK cas caslib=casuser;
/* Changing the default location of all one level named tables */
/* from SASWORK to CASWORK */
options USER = CASWORK;
%put &_sessref_;
caslib _all_ assign;
1
/* CAS Enabled */
2
/* CASL GROUPBY Action Example */
3
4
/* LIBNAME using the CAS engine */
5
LIBNAME CASWORK cas caslib=casuser;
6
7
/* Changing the default location of all one level named tables */
8
/* from SASWORK to CASWORK */
9
options USER = CASWORK;
10
11
%put &_sessref_;
12
13
caslib _all_ assign;
2 Bloc de code
DATA STEP Data
Explication : Ce DATA STEP crée une nouvelle table CAS nommée 'casuser.baseball' en copiant le contenu du jeu de données SAS intégré 'sashelp.baseball'. Cela rend les données disponibles dans l'environnement CAS pour les traitements ultérieurs.
Copié !
data casuser.baseball;
set sashelp.baseball;
run;
1
2
DATA casuser.baseball;
3
SET sashelp.baseball;
4
RUN;
5
3 Bloc de code
PROC DELETE
Explication : Ce bloc utilise 'PROC DELETE' pour supprimer la table 'casuser.baseball_groupby' si elle existe. C'est une bonne pratique de nettoyage avant de recréer une table avec le même nom, évitant ainsi les erreurs ou les données obsolètes.
Copié !
proc delete data=casuser.baseball_groupby;
run;
1
PROC DELETEDATA=casuser.baseball_groupby;
2
RUN;
4 Bloc de code
PROC FEDSQL Data
Explication : Ce bloc utilise 'PROC FEDSQL' pour effectuer une agrégation de données directement dans CAS. L'option 'options caslib="casuser"' définit la caslib par défaut pour les opérations FEDSQL. La requête SQL calcule la somme des coups ('nhits') et regroupe les résultats par 'div' (division) et 'team' (équipe), créant une nouvelle table CAS nommée 'baseball_groupby'.
Copié !
options caslib="casuser";
proc fedsql sessref=casauto;
create table baseball_groupby
as
(select sum(nhits) as nhits_sum
from baseball
group by div, team) ;
quit;
1
options caslib="casuser";
2
PROC FEDSQL sessref=casauto;
3
create TABLE baseball_groupby
4
as
5
(select sum(nhits) as nhits_sum
6
from baseball
7
group BY div, team) ;
8
QUIT;
5 Bloc de code
PROC CAS (Action simple.groupBy) Data
Explication : Ce bloc utilise 'PROC CAS' pour interagir avec le moteur CAS et exécuter une action CAS spécifique : 'simple.groupBy'. Cette action effectue une agrégation. Elle prend en entrée les variables 'DIV' et 'TEAM' pour le regroupement ('inputs'), 'nhits' comme variable de pondération/sommation ('weight'), et 'SUM' comme fonction d'agrégation ('aggregator'). La table source est 'baseball' et le résultat est enregistré dans une nouvelle table CAS nommée 'casl_baseball_groupby', en remplaçant toute table existante du même nom.
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.