Publié le :
Analyse de Données CREATION_INTERNE

Création d'une table groupée par

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script SAS© Viya utilise PROC CAS pour interagir avec le service Cloud Analytic Services (CAS). L'action simple.groupBy est appliquée à la table 'creditqualify' pour créer des groupes basés sur 'State' et 'State_FIPS'. La variable 'Credit_Score' est utilisée pour pondérer les agrégations, et l'agrégateur choisi est 'MEAN' pour calculer la moyenne. Des filtres 'scoregt' et 'scorelt' sont appliqués aux scores. Le résultat de cette opération est stocké dans une nouvelle table CAS nommée 'ScorePerState'. Si l'opération CAS réussit (sévérité 0), la table résultante est modifiée pour formater et étiqueter la colonne '_Score_'. Les données sont ensuite affichées via une action fetch et la table est sauvegardée de manière persistante en tant que fichier .sashdat.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) pour la table 'creditqualify'.

1 Bloc de code
DATA STEP / PROC CAS / simple.groupBy Data
Explication :
Ce code débute par la création d'une table SAS temporaire nommée 'creditqualify' via un DATA STEP, peuplée de données factices pour les variables 'State', 'State_FIPS' et 'Credit_Score'.

Ensuite, la procédure 'PROC CAS' est utilisée pour interagir avec le service Cloud Analytic Services (CAS). Une session CAS est établie ('session mysession').

L'action 'simple.groupBy' est appelée pour construire des groupes basés sur les variables 'State' et 'State_FIPS' de la table 'creditqualify'. Le 'Credit_Score' est défini comme variable de pondération, et 'MEAN' est spécifié comme agrégateur pour calculer la moyenne. Les options 'scoregt' et 'scorelt' filtrent les scores numériques des regroupements. La table de sortie résultante est nommée 'ScorePerState' et est créée dans la caslib active, en remplaçant toute table existante du même nom.

Après l'exécution de l'action 'simple.groupBy', une vérification est effectuée sur le code de sévérité retourné (s.severity). Si ce code est 0, indiquant une exécution réussie, un bloc IF-THEN/DO est exécuté.

À l'intérieur de ce bloc, l'action 'table.alterTable' est utilisée pour modifier la table 'ScorePerState', en définissant un libellé ('Credit Score') et un format ('5.2') pour la colonne '_Score_'.

Ensuite, l'action 'table.fetch' est appelée pour récupérer et afficher les variables 'State', 'State_FIPS' et la colonne '_Score_' (maintenant formatée) de la table 'ScorePerState'.

Enfin, l'action 'table.save' est utilisée pour sauvegarder la table 'ScorePerState' de manière persistante en tant que fichier 'ScorePerState.sashdat' dans la caslib active, garantissant ainsi qu'elle est disponible pour une utilisation ultérieure.
Copié !
1DATA creditqualify;
2 LENGTH State $2. State_FIPS $2. Credit_Score 8;
3 INFILE DATALINES;
4 INPUT State State_FIPS Credit_Score;
5DATALINES;
6NC NC 750
7NC NC 700
8CA CA 800
9CA CA 650
10TX TX 600
11TX TX 720
12NY NY 780
13NY NY 690
14;
15RUN;
16 
17PROC CAS;
18 SESSION mysession;
19 SIMPLE.groupBy RESULT=r STATUS=s /
20 inputs={"State", "State_FIPS"},
21 weight="Credit_Score",
22 aggregator="MEAN",
23 scoregt=0,
24 scorelt=900,
25 TABLE={name="creditqualify"},
26 casout={name="ScorePerState",
27 replace=true};
28RUN;
29 IF (s.severity = 0) THEN DO;
30 TABLE.alterTable / columns={
31 {label="Credit Score", FORMAT="5.2", name="_Score_"}},
32 name="ScorePerState";
33 TABLE.fetch /
34 FORMAT=True,
35 fetchVars={"State", "State_FIPS",
36 {name="_Score_",FORMAT="5.2"}},
37 TABLE={name="ScorePerState"},
38 index=false;
39 
40 TABLE.save /
41 TABLE={name="ScorePerState"},
42 name="ScorePerState.sashdat",
43 replace=True;
44 END;
45RUN;
46QUIT;
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 © SAS Institute Inc. All Rights Reserved


Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Notez l'utilisation de s.severity. En programmation CASL, c'est votre filet de sécurité. Toujours vérifier la sévérité avant de sauvegarder ou d'altérer une table permet d'éviter que des erreurs (comme une table source manquante) ne fassent planter vos pipelines automatisés. »