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 relevés de capteurs, avec des valeurs de température manquantes ('.') et un poids de fiabilité pour chaque mesure.
| 1 | DATA casuser.releves_capteurs; |
| 2 | informat ts datetime20.; |
| 3 | FORMAT ts datetime20.; |
| 4 | INPUT id_machine $ temperature fiabilite ts; |
| 5 | DATALINES; |
| 6 | MACH01 205.5 0.9 '15JAN2023:10:00:00'dt |
| 7 | MACH01 206.1 0.9 '15JAN2023:10:01:00'dt |
| 8 | MACH01 . 0.9 '15JAN2023:10:02:00'dt |
| 9 | MACH01 207.0 0.8 '15JAN2023:10:03:00'dt |
| 10 | MACH02 150.2 1.0 '15JAN2023:10:01:00'dt |
| 11 | MACH02 151.8 1.0 '15JAN2023:10:02:00'dt |
| 12 | MACH02 . 1.0 '15JAN2023:10:03:00'dt |
| 13 | MACH02 152.5 0.5 '15JAN2023:10:04:00'dt |
| 14 | MACH01 208.2 0.9 '15JAN2023:10:05:00'dt |
| 15 | ; |
| 16 | RUN; |
| 1 | PROC CAS; |
| 2 | aggregation.aggregate / |
| 3 | TABLE={name='releves_capteurs', groupBy={'id_machine'}}, |
| 4 | id='ts', |
| 5 | interval='MINUTE5', |
| 6 | align='BEGINNING', |
| 7 | weight='fiabilite', |
| 8 | varSpecs={ |
| 9 | {name='temperature', agg='SUMMARY' }, |
| 10 | {name='temperature', agg='NMISS', columnNames={'Releves_Manquants'}} |
| 11 | }, |
| 12 | casOut={name='synthese_machines_5min', replace=true}; |
| 13 | RUN; |
| 14 | QUIT; |
La table de sortie 'synthese_machines_5min' est générée. Elle contient, pour chaque machine et chaque intervalle de 5 minutes, les statistiques descriptives (moyenne, min, max, etc.) de la température, pondérées par la fiabilité du capteur. Une colonne 'Releves_Manquants' indique précisément combien de mesures étaient manquantes dans chaque intervalle, ce qui est crucial pour la maintenance prédictive.