data mixedprairie(drop=FName MName LName FMNames); length LName FMNames FName MName $ 30; set prairie; LName=scan(Name,1,','); FMnames=scan(Name,2,','); FName=scan(FMnames,1,' '); MName=scan(FMnames,2,' '); substr(FName,2)=lowcase(substr(FName,2)); substr(LName,2)=lowcase(substr(LName,2)); Name=trim(LName) !! ', ' !! trim(FName) !! ' ' !! MName; run; proc print data=mixedprairie; run;