Scénario de test & Cas d'usage
Agrégation de données et calculs statistiques sommaires.
Découvrir toutes les actions de aggregationCréation d'une table de transactions marketing simulées, incluant la date, le canal d'acquisition, l'identifiant client et le montant de la transaction.
| 1 | DATA casuser.transactions_marketing; |
| 2 | informat date_transaction date9.; |
| 3 | FORMAT date_transaction date9.; |
| 4 | INPUT id_client $ canal_acquisition $ montant_transaction date_transaction; |
| 5 | DATALINES; |
| 6 | C001 WEB 150.50 10JAN2023 |
| 7 | C002 EMAIL 75.00 12JAN2023 |
| 8 | C001 WEB 25.00 20JAN2023 |
| 9 | C003 SOCIAL 300.10 25JAN2023 |
| 10 | C002 WEB 99.99 05FEB2023 |
| 11 | C004 EMAIL 120.00 15FEB2023 |
| 12 | C001 SOCIAL 45.20 22FEB2023 |
| 13 | C003 WEB 80.75 28FEB2023 |
| 14 | C005 WEB 250.00 01MAR2023 |
| 15 | ; |
| 16 | RUN; |
| 1 | /* La table casuser.transactions_marketing est déjà disponible en mémoire */ |
| 1 | PROC CAS; |
| 2 | aggregation.aggregate / |
| 3 | TABLE={name='transactions_marketing', groupBy={'canal_acquisition'}}, |
| 4 | id='date_transaction', |
| 5 | interval='MONTH', |
| 6 | varSpecs={ |
| 7 | {name='montant_transaction', agg='SUM', columnNames={'Revenu_Total'}}, |
| 8 | {name='montant_transaction', agg='N', columnNames={'Nombre_Transactions'}}, |
| 9 | {name='id_client', agg='NDISTINCT', columnNames={'Clients_Uniques'}} |
| 10 | }, |
| 11 | casOut={name='rapport_marketing_mensuel', replace=true}; |
| 12 | RUN; |
| 13 | QUIT; |
Une table CAS nommée 'rapport_marketing_mensuel' est créée. Elle contient une ligne pour chaque combinaison de mois et de 'canal_acquisition'. Chaque ligne affiche le revenu total, le nombre de transactions et le nombre de clients uniques pour cette période et ce canal, permettant une analyse directe de la performance.