Hi everyone! I have a problem..
I built a Credit Scoring model, all is right. But when i use a dataset for score the model, do not run.
I attach the flow:
And this is the log error:
10870 proc freq data=EMWS1.Score_VariableSet noprint;
10871 table ROLE*LEVEL/out=WORK.ScoreMETA;
10872 run;
NOTE: There were 2 observations read from the data set EMWS1.SCORE_VARIABLESET.
NOTE: The data set WORK.SCOREMETA has 2 observations and 4 variables.
NOTE: PROCEDIMIENTO FREQ used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
10873 proc print data=WORK.ScoreMETA label noobs;
10874 var ROLE LEVEL COUNT;
10875 label ROLE = "%sysfunc(sasmsg(sashelp.dmine, meta_role_vlabel, NOQUOTE))" LEVEL = "%sysfunc(sasmsg(sashelp.dmine, meta_level_vlabel, NOQUOTE))" COUNT = "%sysfunc(sasmsg(sashelp.dmine, rpt_count_vlabel, NOQUOTE))";
10876 title9 ' ';
10877 title10 "%sysfunc(sasmsg(sashelp.dmine, rpt_varSummary_title , NOQUOTE))";
10878 run;
NOTE: There were 2 observations read from the data set WORK.SCOREMETA.
NOTE: The PROCEDURE PRINT printed page 1.
NOTE: PROCEDIMIENTO PRINT used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
10879 title10;
10880 %let groupid =;
10881 %let endGroupid =;
10882 %let prescoreid =;
10883 %let idsTable =;
10884 %let hpdmTable =;
10885 %let lasthptm =;
10886 data _null_;
10887 set EMWS1.Scorecard_EMINFO;
10888 where upcase(key) in('LASTHPTM', 'IDSTABLE', 'HPDMSAMPLE', 'PRESCORECODE','ENDGROUP', 'GROUPINFO', 'BOOSTINFO', 'BAGINFO', 'TARGETINFO', 'INDEXINFO');
10889 select(upcase(key));
10890 when('LASTHPTM') call symput('lasthptm', DATA);
10891 when('IDSTABLE') call symput('idsTable', DATA);
10892 when('HPDMSAMPLE') call symput('hpdmSample', DATA);
10893 when('PRESCORECODE') call symput('prescoreId', DATA);
10894 when('ENDGROUP') call symput('endGroupId', DATA);
10895 otherwise call symput('groupId', DATA);
10896 end;
10897 run;
NOTE: There were 1 observations read from the data set EMWS1.SCORECARD_EMINFO.
WHERE UPCASE(key) in ('BAGINFO', 'BOOSTINFO', 'ENDGROUP', 'GROUPINFO', 'HPDMSAMPLE', 'IDSTABLE', 'INDEXINFO', 'LASTHPTM', 'PRESCORECODE', 'TARGETINFO');
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
10898 %let lastModelid =;
10899 data _null_;
10900 set EMWS1.Scorecard_EMINFO;
10901 where upcase(key) = 'MODEL' and TARGET = "Objetivo";
10902 call symput('lastModelID', DATA);
10903 run;
NOTE: There were 1 observations read from the data set EMWS1.SCORECARD_EMINFO.
WHERE (UPCASE(key)='MODEL') and (TARGET='Objetivo');
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL _INIT >>
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL setMetaData >>
NOTE: There were 1 observations read from the data set EMWS1.SCORECARD_EMINFO.
WHERE (TARGET='Objetivo') and (KEY='MODEL');
NOTE: The data set WORK.EMINFO42DYEDYL has 1 observations and 3 variables.
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL NUMELEMENTS >>
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL _term >>
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL _INIT >>
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL setMetaData >>
NOTE: There were 1 observations read from the data set EMWS1.SCORECARD_EMINFO.
WHERE (TARGET='Objetivo') and (KEY='DECMETA');
NOTE: The data set WORK.EMINFO42DWO6FN has 1 observations and 3 variables.
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL next >>
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL next >>
Executing SASHELP.EMCORE.EMINFOITERATOR.SCL _term >>
NOTE: This SAS session is using a registry in WORK. All changes will be lost at the end of this session.
WARNING: Variable CatBCUt1 has already been defined as numeric.
12029 _UFormat = put(CatBCUt1,$CHAR7.);
-------
48
WARNING: Variable Ramo has already been defined as numeric.
12227 _UFormat = put(Ramo,$CHAR50.);
--------
48
WARNING: Variable Sector has already been defined as numeric.
12329 _UFormat = put(Sector,$CHAR24.);
--------
48
ERROR 48-59: formato CHAR no se he encontrado o no se puede cargar.
*------------------------------------------------------------*
*
* ERROR: Se ha encontrado un error de tiempo de ejecución. El error del sistema es -S-.
* Reporte los problemas sin resolver al departamento de Soporte técnico.
*
*------------------------------------------------------------*
Can anybody help me?
From a cursory glance, It looks like your dataset to be scored doesn't match the original input dataset.
If you run PROC COMPARE to compare the datasets it will show you the variables and types that are different.
Or check the types of the variables are consistent between the files manually by looking for the errors in the log that identifies the variables with issues.
Thanks Reeza.
Where i run PROC COMPARE? In a SAS Code? In Score node?
If you have EG I would probably do it there, otherwise, yes a code node would work.
Yes, i have EM. How i run this? I run a SAS program? I put only PROC COMPARE?
Número de variables con atributos diferentes: 2
Listado de variables comunes con atributos diferentes
Variable Conjunto de datos / Tipo / Longitud /= Formato / F.lect. Etiqueta
Pagos_t
ANDA.TABLAFINALCOMPLETA / Num / 8 / BEST8. / BEST8
OCT2016.TABLAOCTUBRE2016 / Num / 8 / BEST9. / BEST9.
Pagos_t1
ANDA.TABLAFINALCOMPLETA / Num / 8 / BEST8. / BEST8.
OCT2016.TABLAOCTUBRE2016 / Num / 8 / BEST9./ BEST9.
What is Different attributes?? The type, lengh, and format is equal!
I can't read that 😞
Look specifically at the variables flagged, RAMO and SECTOR. I don't see those listed in the report, but it does say 2 variables differ and that sort of matches the error you're getting with 2 variables different.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.