@cmoore
If you've got the SAS Data Quality Server licensed http://support.sas.com/software/products/dataqual/ then you could try code as below.
options dqlocale=(ENUSA);
data want(drop=_:);
set have;
/* showTokens=DQPARSEINFOGET('NAME', 'ENUSA');*/
stdName=dqStandardize(name, 'Name');
_parsedValue=dqParse(stdName, 'NAME', 'ENUSA');
nm_prefix=dqParseTokenGet(_parsedValue, 'Name Prefix', 'NAME', 'ENUSA');
nm_given=dqParseTokenGet(_parsedValue, 'Given Name', 'NAME', 'ENUSA');
nm_Middle=dqParseTokenGet(_parsedValue, 'Middle Name', 'NAME', 'ENUSA');
nm_Family=dqParseTokenGet(_parsedValue, 'Family Name', 'NAME', 'ENUSA');
nm_Suffix=dqParseTokenGet(_parsedValue, 'Name Suffix', 'NAME', 'ENUSA');
nm_Appendage=dqParseTokenGet(_parsedValue, 'Name Appendage', 'NAME', 'ENUSA');
run;
... View more