Scénario de test & Cas d'usage
Nettoyage, imputation et préparation des données.
Découvrir toutes les actions de dataPreprocessSimulation de données capteurs avec injection explicite de valeurs manquantes et de chaînes vides.
| 1 | |
| 2 | DATA casuser.iot_sensors; |
| 3 | LENGTH Sensor_Status $10 Machine_ID $5; |
| 4 | DO i = 1 to 500; |
| 5 | Machine_ID = put(i, z5.); |
| 6 | rand_val = rand('Uniform'); |
| 7 | IF rand_val < 0.1 THEN call missing(Sensor_Status); |
| 8 | /* Valeur Manquante SAS (.) */ ELSE IF rand_val < 0.2 THEN Sensor_Status = ' '; |
| 9 | /* Chaîne vide */ ELSE IF rand_val < 0.6 THEN Sensor_Status = 'OK'; |
| 10 | ELSE Sensor_Status = 'WARNING'; |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | |
| 14 | RUN; |
| 15 |
| 1 | PROC CAS; |
| 2 | dataPreprocess.catTrans |
| 3 | TABLE={name='iot_sensors'} |
| 4 | inputs={'Sensor_Status'} |
| 5 | method='ONEHOT' |
| 6 | outVarsNamePrefix='OHE' |
| 7 | includeMissingGroup=true |
| 8 | casOut={name='iot_prepared', replace=true}; |
| 9 | RUN; |
| 1 | |
| 2 | PROC CONTENTS |
| 3 | DATA=casuser.iot_prepared; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | PROC PRINT |
| 8 | DATA=casuser.iot_prepared(obs=20); |
| 9 | where OHE_Sensor_Status_Missing = 1; |
| 10 | |
| 11 | RUN; |
| 12 |
L'action doit générer des colonnes binaires comme 'OHE_Sensor_Status_OK', 'OHE_Sensor_Status_WARNING', et spécifiquement une colonne pour les manquants (ex: 'OHE_Sensor_Status_Missing') qui contient la valeur 1 lorsque le statut original était vide ou NULL.