Scénario de test & Cas d'usage
Datenbereinigung, Imputation und Vorverarbeitung.
Entdecken Sie alle Aktionen von dataPreprocessErstellung von Transaktionsdaten mit seltenen Werten und NULLs.
| 1 | |
| 2 | DATA casuser.transaktionen; |
| 3 | LENGTH error_code $10 standort $10; |
| 4 | DO i=1 to 200; |
| 5 | IF rand('UNIFORM') < 0.05 THEN error_code='E_999'; |
| 6 | /* Selten */ ELSE IF rand('UNIFORM') < 0.10 THEN error_code='E_888'; |
| 7 | /* Selten */ ELSE error_code='E_001'; |
| 8 | /* Häufig */ IF rand('UNIFORM') < 0.2 THEN call missing(standort); |
| 9 | ELSE standort='Berlin'; |
| 10 | OUTPUT; |
| 11 | END; |
| 12 | |
| 13 | RUN; |
| 14 |
| 1 | |
| 2 | PROC CAS; |
| 3 | |
| 4 | SIMPLE.freq / TABLE={name='transaktionen', caslib='casuser'} inputs={'error_code', 'standort'}; |
| 5 | |
| 6 | |
| 7 | RUN; |
| 8 |
| 1 | PROC CAS; |
| 2 | dataPreprocess.catTrans / |
| 3 | TABLE={name='transaktionen', caslib='casuser'}, |
| 4 | method='GROUPRARE', |
| 5 | inputs={{name='error_code'}, {name='standort'}}, |
| 6 | rareThreshold=15, |
| 7 | includeMissingGroup=true, |
| 8 | casOut={name='transaktionen_clean', caslib='casuser', replace=true}; |
| 9 | RUN; |
Die seltenen Fehlercodes (E_999, E_888) werden in einer Sammelkategorie zusammengefasst, da ihre Häufigkeit unter dem Schwellenwert liegt. Die fehlenden Werte in der Spalte 'standort' werden nicht gelöscht, sondern als eigene Gruppe behandelt, was die Datenintegrität für die Analyse bewahrt.