Κοίταζα τις νέες δυνατότητες των Integration Services του SQL Server 2005 και το μάτι μου έπεσε στο Fuzzy Lookup και το Fuzzy Grouping. Είναι δύο εξαιρετικά χρήσιμες δυνατότητες όταν θέλει κάποιος να ταιριάξει πεδία κειμένου τα οποία μπορεί να περιέχουν λάθη. Το Fuzzy lookup παίρνει μια ένα πεδίο κειμένου και ψάχνει να βρει ποιό πεδίο σε ένα lookup table ταιριάζει περισσότερο. Το Fuzzy grouping ομαδοποιεί όλες τις τιμές ενός πεδίου αγνοώντας τις μικρές διαφορές. Και στις δύο περιπτώσεις ορίζουμε εμείς πόσο κοντά πρέπει να είναι δύο τιμές για να θεωρηθεί ότι ταιριάζουν.
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το Fuzzy lookup για να ταιριάξετε ονόματα τα οποία μπορεί να έχουν γραφτεί ελαφρά διαφορετικά, ονόματα νομών ή δήμων που γράφτηκαν με τόνο ή χωρίς, ή με διαφορετική κατάληξη. Και στις δύο περιπτώσεις, παράγεται ένας νέος πίνακας ο οποίος περιέχει την αρχική εγγραφή, τα ID των εγγραφών στις οποίες ταιριάζει καθώς και το ποσοστό ομοιότητας των πεδίων.
Μέχρι στιγμής το έχω χρησιμοποιήσει σε ταιριάσματα νομών/δήμων καθώς και σε περιγραφές εταιρειών (ΑΕ, ΟΕ, ΕΠΕ κλπ). Ενώ τα καταφέρνει τέλεια στους νομούς και τους δήμους, βρήκα ότι δεν καταφέρνει να ταιριάξει την ΕΠΕ με την Ε.Π.Ε. Ποιός ξέρει, ίσως εγώ δεν κατάλαβα ακόμα τις παραμέτρους, ίσως να δουλεύει καλύτερα με μεγαλύτερο κείμενο. Είδομεν ...
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos