DR3D1A, [DR3D1B, DR3D1C]
These functions use a three-role comparison and three-dimensional weight (wgt3dim) table.
- Number of roles
- 3
- Number of dimensions
(in each role) - 1
- Weight table
- mpi_wgthead, mpi_wgt3dim
If you use ZIP code, Address and Phone for comparison, you can use the three-dimensional edit-distance functions and refer to the wgt3dim weight table.
If the ZIP code returns a distance of 3, Address returns 2 and Phone returns 0, the value for (3,2,0) is looked up in the wgt3dim table.
This means that the ZIP code has an edit-distance of 2, Address has an edit-distance of 1, and Phone is missing. Remember, the lookup always adds 1 to the edit distance values.
Reading a 3dim table
Wgtcode | wgtidx1 | wgtidx2 | wgtval0 | wgtval1 | wgtval2 |
---|---|---|---|---|---|
CMPC-ZAP-DIST | 0 | 0 | 0 | 334 | 332... |
CMPC-ZAP-DIST | 0 | 1 | 232 | 221 | 220... |
…. | |||||
CMPC-ZAP-DIST | 3(*) | 0 | 101 | 100 | 99… |
CMPC-ZAP-DIST | 3(*) | 1(#) | 100 | 99 | 97… |
CMPC-ZAP-DIST | 3(*) | 2 | 99 | 98 | ….. |
An edit distance of (2,0,1) for ZIP code, Address, and Phone refers to an index of (3,1,2).
In the 3-dim table, find the first index 3 in the wgtidx1 column(*). Within this index 3, find the value 1 in the second column wgtidx2(#). To get the last index 2, move along this same row until the column with wgtval2 is reached. The value in this column is the weight (in this case, 97).