Scénario de test & Cas d'usage
Erzeugung von Kreditdaten mit absichtlich fehlenden Werten in der Risikoklasse.
| 1 | |
| 2 | DATA casuser.credit_audit; |
| 3 | call streaminit(777); |
| 4 | LENGTH risk_class $10; |
| 5 | DO i=1 to 200; |
| 6 | r=rand('Uniform'); |
| 7 | IF r<0.1 THEN risk_class=''; |
| 8 | ELSE IF r<0.4 THEN risk_class='High'; |
| 9 | ELSE IF r<0.7 THEN risk_class='Medium'; |
| 10 | ELSE risk_class='Low'; |
| 11 | IF rand('Uniform')<0.9 THEN STATUS='Ok'; |
| 12 | ELSE STATUS='Default'; |
| 13 | OUTPUT; |
| 14 | END; |
| 15 | |
| 16 | RUN; |
| 17 |
| 1 | |
| 2 | PROC CAS; |
| 3 | SIMPLE.crossTab / TABLE={name='credit_audit'}, row='risk_class', col='status', includeMissing=true, descending=true; |
| 4 | |
| 5 | RUN; |
| 6 |
Die Ergebnistabelle enthält eine explizite Zeile (oder Spalte) für fehlende Werte in 'risk_class' (als '.' oder leerer String dargestellt). Die Risikoklassen werden in umgekehrter alphabetischer Reihenfolge (oder basierend auf der Formatierung) angezeigt, sodass 'Medium' vor 'Low' oder 'High' stehen könnte (abhängig von der genauen String-Sortierung), aber die Sortierrichtung ist strikt absteigend.