Scénario de test & Cas d'usage
Präzise Berechnung von Perzentilen und Quantilen.
Entdecken Sie alle Aktionen von percentileErstellt eine große Tabelle mit simulierten Temperaturmessungen von 5.000 verschiedenen Maschinen.
| 1 | DATA casuser.sensor_data_de; |
| 2 | LENGTH machine_id $ 10; |
| 3 | DO i = 1 to 5000; |
| 4 | machine_id = 'MACHINE_' || put(i, z4.); |
| 5 | DO j = 1 to 200; |
| 6 | temperature = 70 + (i/100) + rand('NORMAL', 0, 2.5); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | END; |
| 10 | RUN; |
| 1 | PROC CAS; |
| 2 | percentile.boxPlot / |
| 3 | TABLE={name='sensor_data_de', caslib='casuser', groupBy={'machine_id'}}, |
| 4 | inputs={{name='temperature'}}, |
| 5 | casOut={name='sensor_boxplot_perf', caslib='casuser', replace=true}, |
| 6 | method='ITERATIVE', |
| 7 | outliers=true, |
| 8 | whiskerPercentile=5; |
| 9 | RUN; |
| 10 | QUIT; |
| 1 | PROC CONTENTS DATA=casuser.sensor_boxplot_perf; RUN; |
| 2 | PROC PRINT DATA=casuser.sensor_boxplot_perf(obs=10); |
| 3 | var machine_id _MEDIAN_ _NOUTLIERS_ _OUTLIERS_LOW_ _OUTLIERS_HIGH_; |
| 4 | RUN; |
Die Aktion sollte erfolgreich abgeschlossen werden, ohne Speicher- oder Zeitüberschreitungsfehler. Die Ausgabetabelle `sensor_boxplot_perf` muss 5.000 Zeilen enthalten, eine für jede `machine_id`. Die Spalten `_NOUTLIERS_`, `_OUTLIERS_LOW_` und `_OUTLIERS_HIGH_` müssen vorhanden sein, da `outliers=true` gesetzt wurde. Die Leistung sollte im Rahmen der erwarteten Benchmarks für die iterative Methode liegen.