Erläuterungen
|
Der phonetische Code eines Worts gibt Auskunft über den Klang
des Worts. Für ähnlich klingende Wörter wird derselbe Code
ermittelt. So können Sie z.B. verschiedene Schreibweisen eines
Namens erkennen.
Mit Hilfe der Funktion können Sie in einer Tabelle u.a. Namen
und Adressen finden, die wegen deren unterschiedlichen
Schreibweisen doppelt enthalten sind.
Der Code zu einem Wort besteht aus dem ersten Buchstaben des
Worts gefolgt von Ziffern, die die nach dem Anfangsbuchstaben
folgenden Konsonanten interpretieren. So werden z.B. die
Konsonanten B, F, P und V als "1" interpretiert.
Folgende Zeichen werden ignoriert:
-
Vokale und Umlaute,
-
die Konsonanten H, W und
Y sowie
-
alle Zeichen, die keine Buchstaben sind, z.B. Sonderzeichen und
Ziffern.
Buchstabencodes
Buchstabencodes
Konsonanten
|
Ziffern
|
B, F, P, V
|
1
|
C, G, J, K, Q, S, X, Z, ß
|
2
|
D, T
|
3
|
L
|
4
|
M, N
|
5
|
R
|
6
|
Beispiel
Beispiel
Zu den Namen des Attributs "Namen" sollen Codes ermittelt
werden. Dazu wird in einem abgeleiteten Attribut folgende Formel
hinterlegt:
SoundEx([Namen])
Anhand der Formel werden folgende Codes zu den Namen
ermittelt:
Namen
|
Codes
|
Maier
|
M6
|
Meyer
|
M6
|
Meier
|
M6
|
Maler
|
M46
|
Müller
|
M46
|
Mahnes
|
M52
|
Robert
|
R163
|
Rupert
|
R163
|
Rubin
|
R15
|
Willenbacher
|
W45126
|
-
|
-
|
|
Hinweise
|
Hinweise...
|
Hinweise
|
...zum Verfahren der Ermittlung der phonetischen Codes
|
Der Algorithmus zur Ermittlung der Codes entspricht dem von
Donald Knuth 1973 im Buch
"The Art of Computer Programming"
beschriebenen Verfahren.
Ausnahmen:
-
Das deutsche "ß" (Eszett) wird wie
"S" behandelt.
-
Die Codes werden nicht auf vier Stellen aufgefüllt oder gekürzt,
sodass die Anzahl der Zeichen eines Codes unbegrenzt ist.
Tipp: Mit Hilfe der Funktion "Left" erhalten Sie vierstellige Codes.
Beispiel
Beispiel
Im Attribut "SoundEx" wurden Codes
zu Namen ermittelt. Die Codes sollen aufgefüllt oder gekürzt
werden, sodass sie vierstellig sind. Zudem sollen für leere
Zellen keine Codes angezeigt werden. Dazu wird in einem
abgeleiteten Attribut folgende Formel hinterlegt:
If([SoundEx] = "" ,""
,Left([SoundEx] + "000",4))
Anhand der Formel werden die Codes der Namen wie folgt auf vier
Stellen aufgefüllt oder gekürzt:
Namen
|
Codes
|
vierstellige Codes
|
Maier
|
M6
|
M600
|
Meyer
|
M6
|
M600
|
Meier
|
M6
|
M600
|
Maler
|
M46
|
M460
|
Müller
|
M46
|
M460
|
Mahnes
|
M52
|
M520
|
Robert
|
R163
|
R163
|
Rupert
|
R163
|
R163
|
Rubin
|
R15
|
R150
|
Willenbacher
|
W45126
|
W451
|
-
|
-
|
-
|
|
...zur Ermittlung der phonetischen Codes
|
Die Funktion ignoriert alle Zeichen am Wortbeginn, die keine
Buchstaben sind. So beginnt der Code zu einem Wort mit dem ersten
Buchstaben des Worts. Dabei kann es sich um einen beliebigen
Unicode-Buchstaben (außer "ß")
handeln. Alle anderen Zeichen vor dem ersten Buchstaben des Worts
werden ignoriert. Innerhalb des Worts werden nur reine
ASCII-Buchstaben (und "ß")
umgesetzt.
Beispiele
Beispiele
Wörter
|
Codes
|
+*: Rubin
|
R15
|
R+b+n
|
R15
|
47Rub11in
|
R15
|
|
...zu gleichen aufeinanderfolgenden Konsonanten
|
Gleiche aufeinanderfolgende Konsonanten werden als eine Ziffer
interpretiert.
Beispiel
|
...aufeinanderfolgenden Konsonanten mit derselben Ziffer
|
Aufeinanderfolgende Konsonanten mit derselben Ziffer werden als
eine Ziffer interpretiert.
Beispiel
|
|