« Handling exceptions | Main | Rounding to a given number »

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341d284e53ef00d83499474053ef

Listed below are links to weblogs that reference Soundex and Miracode:

Comments

Chris Manton

These CF's look so much more elegant than any I've seen before. However, in my tests both Soundex and Miracode return only the first letter of the name and no numeric code. I'm afraid that I cannot spot my error - and I doubt it anything other than my error.

Let me know if you'd like me send you my sample file.
Chris.

m.edoshin

Yes, please send me your file. Maybe the page has a typo somewhere in function descriptions. I'll also try to post a sample file with working functions as soon as I can.

guest

Have you considered adding a check in the cases of names to handle a hard or soft 'C' if it's the first letter? For instance, I would prefer "Karl" and "Carl" to have the same soundex code. I've modified the soundex routine in dBase to consider 'C' as 'K' if followed by A,O,U, otherwise consider it an 'S'. This seems to work well in a database of about 12,000 names (doesn't elegantly address "Ch' but it works).

Rich

m.edoshin

Hi Rich. You're right, keeping the first letter same this is a known limitation of Soundex. But since Soundex is more or less a standard, I decided not to fiddle with it. There's lots of other, more modern algorithms that address this and other limitation. Maybe I'll write a function for Phonex, which is based on Soundex but is reported to be better.

theKiwi

Hi

Thanks for posting this. It sure beats the hodgepodge of calculations I had developed back in the days of FileMaker Pro 4 to calculate the Soundex and Miracode codes for surnames.

The problem referenced by Chris Manton on 18 June seems to have been caused by a missing line in the Soundex function - I added

next char =
Upper( Middle( text; 2; 1 ) );

after current char and before rest of string and it works. The Miracode function worked as posted.

Cheers

Roger

Alex

Mikhail,

Thinking of doing a blog post on this - great technique - might throw together some sample files to demo an implementation, all credit to you off course.

Do you mind?

Cheers.

Alex

Whoops, typo in the site name :(

m.edoshin

Hi Alex,

Sure, feel free to. I've subscribed to the blog, looking forward to the post :)

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment