aggregate
Description
L'action aggregate de l'ensemble d'actions aggregationProcessus de regroupement de données (somme, moyenne, etc.) via des actions CAS. Il réduit la volumétrie en synthétisant les observations détaillées pour faciliter l'analyse et la visualisation. effectue l'agrégation sur les variables sélectionnées . C'est l'outil parfait pour condenser de larges volumes de données, notamment chronologiques ou dimensionnelles, produisant un résumé clair et net (pour que vos serveurs puissent enfin prendre une pause café bien méritée !).
Paramètres Clés
Préparation des données
Création des données de ventes
Nous générons une table CAS contenant un historique de ventes quotidiennes aléatoires sur une année.
| 1 | DATA casuser.ventes_quotidiennes; |
| 2 | call streaminit(12345); |
| 3 | DO Date = '01JAN2023'd to '31DEC2023'd; |
| 4 | Produit = 'Widget'; |
| 5 | Montant = round(rand('uniform') * 150 + 20, 0.01); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | FORMAT Date date9.; |
| 9 | RUN; |
Exemples d'utilisation
Agrégation globale des ventes
Un exemple de base qui calcule la somme totale et la moyenne des ventes sur l'ensemble de la table, en utilisant varSpecs.
| 1 | PROC CAS; |
| 2 | aggregation.aggregate / |
| 3 | TABLE={name="ventes_quotidiennes", caslib="casuser"} |
| 4 | casOut={name="ventes_globales", caslib="casuser", replace=true} |
| 5 | varSpecs={ |
| 6 | {name="Montant", agg="SUM", columnNames={"Somme_Totale"}}, |
| 7 | {name="Montant", agg="MEAN", columnNames={"Moyenne_Globale"}} |
| 8 | }; |
| 9 | RUN; |
| 10 | QUIT; |
Résultat Attendu :
Agrégation temporelle par mois
Exploitation avancée : agrégation des ventes par mois à l'aide des paramètres 'id' et 'interval'. Remarquez l'utilisation indispensable de groupBy sur la variable temporelle pour que le découpage mensuel fonctionne !
| 1 | PROC CAS; |
| 2 | aggregation.aggregate / |
| 3 | TABLE={name="ventes_quotidiennes", caslib="casuser", groupBy={"Produit", "Date"}} |
| 4 | id="Date" |
| 5 | interval="MONTH" |
| 6 | casOut={name="ventes_mensuelles", caslib="casuser", replace=true} |
| 7 | varSpecs={ |
| 8 | {name="Montant", agg="SUM", columnNames={"Ventes_Mensuelles"}}, |
| 9 | {name="Montant", agg="MAX", columnNames={"Max_Quotidien_Mois"}} |
| 10 | }; |
| 11 | RUN; |
| 12 | QUIT; |