Scénario de test & Cas d'usage
Simulación de lecturas de sensores con variable de duración (peso), incluyendo valores negativos erróneos.
| 1 | |
| 2 | DATA mycas.reactor_sensors; |
| 3 | call streaminit(999); |
| 4 | DO i = 1 to 1000; |
| 5 | pressure = rand('Normal', 100, 10); |
| 6 | temp = 200 + (pressure * 0.5) + rand('Normal', 0, 5); |
| 7 | duration = rand('Normal', 60, 15); |
| 8 | IF i > 950 THEN duration = -1 * duration; |
| 9 | /* Simular errores */ OUTPUT; |
| 10 | END; |
| 11 | |
| 12 | RUN; |
| 13 |
| 1 | |
| 2 | PROC CAS; |
| 3 | SIMPLE.correlation / TABLE={name='reactor_sensors'}, inputs={{name='pressure'}, {name='temp'}}, weight='duration', excludeNonPosWgt=true, varianceDivisor='WDF'; |
| 4 | |
| 5 | RUN; |
| 6 |
La acción debe filtrar automáticamente las observaciones donde 'duration' es negativa (los últimos 50 registros simulados) y calcular la correlación entre presión y temperatura utilizando la suma de los pesos menos uno (WDF) como divisor. Se espera un mensaje en el log indicando la exclusión de filas.