As suggested by @BrunoMueller, it would be easier if you rewrote your infile. But assuming that you get it from someone else, that is not always possible. In which case you will have to read the data to temporary fields and then parse, e.g.: data LFC1819;
length pos $2 Pname $30 str2 str3 $20;
infile cards truncover;
input pos--str3;
if lengthn(str3) then do;
call catx(' ',pname,str2);
Fee=input(str3,comma10.);
end;
else
Fee=input(str2,comma10.);
drop str2 str3;
datalines;
DM Fabinho 30,000,000
GK Alisson Becker 76,000,000
DM Naby Keita 55,000,000
FW Xherdan Shaqiri 12,000,000
;run;
... View more