Scénario de test & Cas d'usage
Ejecución de funciones SAS FCMP en el entorno CAS.
Descubrir todas las acciones de fcmpactCreación de una tabla con 10,000 solicitudes de préstamo simuladas, conteniendo el ratio de deuda/ingresos y la puntuación crediticia del solicitante.
| 1 | DATA mycas.solicitudes_prestamo; |
| 2 | DO i = 1 to 10000; |
| 3 | ratio_deuda_ingresos = rand('UNIFORM') * 0.8; |
| 4 | puntuacion_crediticia = 300 + rand('INTEGER', 550); |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | drop i; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | fcmpact.addRoutines |
| 3 | routineCode='function calcular_score_riesgo(puntuacion, ratio); |
| 4 | score = 0; |
| 5 | if puntuacion < 580 then score = score + 50; |
| 6 | else if puntuacion < 670 then score = score + 20; |
| 7 | if ratio > 0.45 then score = score + 40; |
| 8 | else if ratio > 0.30 then score = score + 15; |
| 9 | return(score); |
| 10 | endsub;' |
| 11 | package='modelo_riesgo' |
| 12 | funcTable={name='motor_riesgo', caslib='mycas', replace=true} |
| 13 | saveTable=TRUE; |
| 14 | RUN; |
| 15 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.fileInfo / caslib='mycas'; |
| 3 | RUN; |
| 4 | QUIT; |
| 1 | PROC CAS; |
| 2 | datastep.runCode / |
| 3 | code='data mycas.riesgo_calculado; |
| 4 | set mycas.solicitudes_prestamo; |
| 5 | score_riesgo = calcular_score_riesgo(puntuacion_crediticia, ratio_deuda_ingresos); |
| 6 | run;'; |
| 7 | RUN; |
| 8 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / TABLE='riesgo_calculado' to=10; |
| 3 | RUN; |
| 4 | QUIT; |
La acción 'fileInfo' debe mostrar un fichero llamado 'motor_riesgo.sashdat' en la caslib 'mycas', confirmando la persistencia. La tabla 'riesgo_calculado' contendrá las columnas originales más una nueva columna, 'score_riesgo', con un valor numérico calculado para cada una de las 10,000 solicitudes, demostrando que la función persistida fue utilizada con éxito.