?>Array ( [id] => 203 ) Analyse der Datenqualität von IoT-Sensoren mit fehlenden Werten - WeAreCAS
aggregation aggregate

Analyse der Datenqualität von IoT-Sensoren mit fehlenden Werten

Scénario de test & Cas d'usage

Geschäftskontext

Ein Industrieunternehmen überwacht Maschinen mit IoT-Sensoren, die minütlich Temperaturdaten senden. Aufgrund von Netzwerkproblemen gehen einige Messwerte verloren. Das Ziel ist, die Daten in 5-Minuten-Intervallen zu aggregieren, um die durchschnittliche Temperatur zu berechnen und gleichzeitig die Anzahl der fehlenden Messwerte pro Intervall zu zählen. Dies hilft, die Zuverlässigkeit der Sensoren zu bewerten.
Datenaufbereitung

Erstellt eine Tabelle mit Zeitreihendaten von zwei Maschinen, einschließlich Zeitstempel und Temperaturmessungen. Einige Temperaturwerte sind absichtlich als fehlend (.) markiert.

Kopiert!
1DATA mycas.sensor_daten;
2 informat Zeitstempel DATETIME20.;
3 FORMAT Zeitstempel DATETIME20.;
4 INPUT Maschinen_ID $ Zeitstempel :DATETIME20. Temperatur;
5 DATALINES;
6Sensor_A 25NOV2025:10:00:00 25.5
7Sensor_A 25NOV2025:10:01:00 25.6
8Sensor_A 25NOV2025:10:02:00 .
9Sensor_A 25NOV2025:10:03:00 25.8
10Sensor_A 25NOV2025:10:06:00 26.0
11Sensor_B 25NOV2025:10:00:00 30.1
12Sensor_B 25NOV2025:10:01:00 .
13Sensor_B 25NOV2025:10:02:00 .
14Sensor_B 25NOV2025:10:08:00 30.5
15;
16RUN;

Étapes de réalisation

1
Laden der Sensordaten in den CAS-Server.
Kopiert!
1/* Daten bereits in mycas.sensor_daten geladen */
2
Aggregation der Temperaturdaten in 5-Minuten-Intervallen. Der Parameter 'includeMissing' in 'varSpecs' wird verwendet, um fehlende Werte in die Aggregation für NMISS einzubeziehen.
Kopiert!
1PROC CAS;
2 aggregation.aggregate /
3 TABLE={name='sensor_daten', groupBy={'Maschinen_ID'}},
4 id='Zeitstempel',
5 interval='MINUTE5',
6 casOut={name='sensor_qualitaet', replace=true},
7 varSpecs=[
8 {name='Temperatur', agg='SUMMARY', summarySubset={'MEAN', 'NMISS'}, includeMissing=true}
9 ];
10RUN;

Erwartetes Ergebnis


Die Tabelle 'sensor_qualitaet' zeigt für jede Maschine die aggregierten Daten in 5-Minuten-Intervallen. Jede Zeile enthält die 'Maschinen_ID', den Startzeitpunkt des Intervalls, die durchschnittliche Temperatur ('Temperatur_MEAN') der in diesem Intervall verfügbaren Messungen und die genaue Anzahl der fehlenden Messwerte ('Temperatur_NMISS').