I'm late to the Party, but wrote this draft yesterday. Some of it has been covered, but I'll click send without further revisions.
I did not see the original post on this (just the Re:) but you can only get somewhat close on extracting first or last names from a free-form name, not good enough to use the resulting information, in general. There could be a lot more name-intelligence built into the algorithm, but it will still be an approximation. Of course, there are many two word first names, such as "Sally Jo" and many two and three word last names (e.g. Vander Molen, De Vries, and 1/2 of the phone book in my little city). Even if you have an algorithm that identifies a "Van" within the name, you need to be sure you are not treating "Van Smith" as a last name or Mary Van Dam Zylstra as if her former last name, now serving as the middle name, were the start of a three-part last name. There are also more suffixes and prefixes than in your algorithm as well as potentially multiple with any given name. As an aside... If starting out, rather than working with existing data, after some investigation a couple of years ago regarding what to collect in an online application as well as what to call the parts, I came down to 3 fields for names. Because one part should go first and the other last, I did what some consider politically incorrect with one tag as First name and the other as Last name. I also have a Full name that is currently read-only (read-write is future) defaulting initially as first : " " : last. Someone can put "Dr. James A." as the first name and "Vander Ark Sr." as the last name, should they choose to do so. Once implemented as a typical data field (rather than as a materialized derived value), the full name could be "Dr. James A. Vander Ark Sr." with a first name as Jim and a last name as Vander Ark, for example. Skipping fields for middle name, prefix, and suffix might seem overly simplistic, but with these three fields a large percentage of possible requirements is covered and some risks are mitigated. Using these names to identify members of the same family across cultures is not, however. --dawn On Tue, Dec 13, 2011 at 5:12 PM, Wjhonson <[email protected]> wrote: > > 0044: SUFFIXES = ",JR,SR,MD,III," > 0045: S.NAME = DCOUNT(UM.NAME,' ') > 0046: LAST.WORD.IN.NAME = FIELD(UM.NAME,' ',S.NAME) > 0047: IF INDEX(SUFFIXES,",":LAST.WORD.IN.NAME:",",1) THEN > 0048: LAST.NAME = FIELD(UM.NAME,' ',S.NAME-1) > 0049: END ELSE > 0050: LAST.NAME = LAST.WORD.IN.NAME > 0051: END > 0052: PREFIXES = ',DR,MR,MS,MISS,MRS,' > 0053: FIRST.WORD.IN.NAME = FIELD(UM.NAME,' ',1) > 0054: IF INDEX(PREFIXES,",":FIRST.WORD.IN.NAME:",",1) THEN > 0055: FIRST.NAME = FIELD(UM.NAME,' ',2) > 0056: END ELSE > 0057: FIRST.NAME = FIRST.WORD.IN.NAME > 0058: END > _______________________________________________ > U2-Users mailing list > [email protected] > http://listserver.u2ug.org/mailman/listinfo/u2-users > -- Dawn M. Wolthuis Take and give some delight today _______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users
