Table.AddFuzzyClusterColumn
Σύνταξη
Table.AddFuzzyClusterColumn(table as table, columnName as text, newColumnName as text, optional options as nullable record) as table
Πληροφορίες
Προσθέτει μια νέα στήλη newColumnName
στο table
με αντιπροσωπευτικές τιμές .columnName
Οι αντιπροσωπευτικές τιμές λαμβάνονται από τιμές ασαφούς συμφωνίας στο columnName
, για κάθε γραμμή.
Μπορεί να συμπεριληφθεί ένα προαιρετικό σύνολο για τον καθορισμό του options
τρόπου σύγκρισης των στηλών κλειδιού. Οι επιλογές είναι οι εξής:
Culture
: Επιτρέπει την ομαδοποίηση εγγραφών με βάση κανόνες συγκεκριμένης κουλτούρας. Μπορεί να είναι οποιοδήποτε έγκυρο όνομα κουλτούρας. Για παράδειγμα, η επιλογή κουλτούρας "ja-JP" ομαδοποιεί εγγραφές με βάση την ιαπωνική κουλτούρα. Η προεπιλεγμένη τιμή είναι "", η οποία ομαδοποιεί με βάση την αμετάβλητη αγγλική κουλτούρα.IgnoreCase
: Μια λογική τιμή (true/false) που επιτρέπει την ομαδοποίηση κλειδιών χωρίς διάκριση πεζών-κεφαλαίων. Για παράδειγμα, όταν είναι true, τα "Σταφύλια" ομαδοποιούνται μαζί με τα "σταφύλια". Η προεπιλεγμένη τιμή είναι αληθές.IgnoreSpace
: Μια λογική τιμή (true/false) που επιτρέπει τον συνδυασμό τμημάτων κειμένου προκειμένου να βρεθούν ομάδες. Για παράδειγμα, όταν είναι true, τα "Στα φύλια" ομαδοποιούνται μαζί με τα "Σταφύλια". Η προεπιλεγμένη τιμή είναι αληθές.SimilarityColumnName
: Ένα όνομα για τη στήλη που εμφανίζει την ομοιότητα μεταξύ μιας τιμής εισόδου και της αντιπροσωπευτικής τιμής για αυτή την είσοδο. Η προεπιλεγμένη τιμή είναι null, στην οποία περίπτωση δεν θα προστεθεί μια νέα στήλη για ομοιότητες.Threshold
: Ένας αριθμός μεταξύ 0,00 και 1,00 που καθορίζει τη βαθμολογία ομοιότητας με την οποία θα ομαδοποιούνται δύο τιμές. Για παράδειγμα, τα "Σταφύλια" και "Σταφύλι" (λείπει το "α") ομαδοποιούνται μόνο εάν αυτή η επιλογή έχει οριστεί σε μικρότερη τιμή από 0,90. Το όριο 1,00 επιτρέπει μόνο ακριβείς αντιστοιχίσεις. (Σημειώστε ότι μια ασαφής "ακριβής αντιστοίχιση" μπορεί να παραβλέψει διαφορές όπως το περίβλημα, η σειρά των λέξεων και τα σημεία στίξης.) Η προεπιλεγμένη τιμή είναι 0,80.TransformationTable
: Ένας πίνακας που επιτρέπει την ομαδοποίηση εγγραφών με βάση αντιστοιχίσεις προσαρμοσμένων τιμών. Θα πρέπει να περιέχει στήλες "Από" και "Προς". Για παράδειγμα, τα "Σταφύλια" ομαδοποιούνται μαζί με τις "Σταφίδες" εάν παρέχεται ένας πίνακας μετασχηματισμού με τη στήλη "Από" που περιέχει "Σταφύλια" και τη στήλη "Προς" που περιέχει "Σταφίδες". Σημειώστε ότι ο μετασχηματισμός θα εφαρμοστεί σε όλες τις εμφανίσεις του κειμένου στον πίνακα μετασχηματισμού. Με τον παραπάνω πίνακα μετασχηματισμού "Τα σταφύλια είναι γλυκά" θα ομαδοποιηθούν επίσης με το "Οι σταφίδες είναι γλυκές".
Παράδειγμα 1
Βρείτε τις αντιπροσωπευτικές τιμές για την τοποθεσία των υπαλλήλων.
Χρήση
Table.AddFuzzyClusterColumn(
Table.FromRecords(
{
[EmployeeID = 1, Location = "Seattle"],
[EmployeeID = 2, Location = "seattl"],
[EmployeeID = 3, Location = "Vancouver"],
[EmployeeID = 4, Location = "Seatle"],
[EmployeeID = 5, Location = "vancover"],
[EmployeeID = 6, Location = "Seattle"],
[EmployeeID = 7, Location = "Vancouver"]
},
type table [EmployeeID = nullable number, Location = nullable text]
),
"Location",
"Location_Cleaned",
[IgnoreCase = true, IgnoreSpace = true]
)
Έξοδος
Table.FromRecords(
{
[EmployeeID = 1, Location = "Seattle", Location_Cleaned = "Seattle"],
[EmployeeID = 2, Location = "seattl", Location_Cleaned = "Seattle"],
[EmployeeID = 3, Location = "Vancouver", Location_Cleaned = "Vancouver"],
[EmployeeID = 4, Location = "Seatle", Location_Cleaned = "Seattle"],
[EmployeeID = 5, Location = "vancover", Location_Cleaned = "Vancouver"],
[EmployeeID = 6, Location = "Seattle", Location_Cleaned = "Seattle"],
[EmployeeID = 7, Location = "Vancouver", Location_Cleaned = "Vancouver"]
},
type table [EmployeeID = nullable number, Location = nullable text, Location_Cleaned = nullable text]
)