Delen via


Table.AddFuzzyClusterColumn

Syntaxis

Table.AddFuzzyClusterColumn(table as table, columnName as text, newColumnName as text, optional options as nullable record) as table

Info

Voegt een nieuwe kolom newColumnName toe aan table met representatieve waarden van columnName. De vertegenwoordigers worden voor elke rij verkregen door fzzly overeenkomende waarden in columnName.

Er kan een optionele set options worden opgenomen om op te geven hoe de sleutelkolommen moeten worden vergeleken. De volgende opties zijn beschikbaar:

  • Culture: Hiermee kunt u records groeperen op basis van cultuurspecifieke regels. Dit kan elke geldige cultuurnaam zijn. Een optie Cultuur van ja-JP groepeert bijvoorbeeld records op basis van de Japanse cultuur. De standaardwaarde is '', die wordt gegroepeerd op basis van de Invariant Engelse cultuur.
  • IgnoreCase: Een logische waarde (waar/onwaar) die hoofdlettergevoelige sleutelgroepering toestaat. Als 'Druiven' bijvoorbeeld waar is, wordt 'Druiven' gegroepeerd met 'druiven'. De standaardwaarde is waar.
  • IgnoreSpace: Een logische waarde (waar/onwaar) waarmee tekstonderdelen kunnen worden gecombineerd om groepen te vinden. Als bijvoorbeeld waar is, wordt 'Gra pes' gegroepeerd met 'Druiven'. De standaardwaarde is waar.
  • SimilarityColumnName: Een naam voor de kolom met de overeenkomst tussen een invoerwaarde en de representatieve waarde voor die invoer. De standaardwaarde is null. In dat geval wordt er geen nieuwe kolom voor overeenkomsten toegevoegd.
  • Threshold: Een getal tussen 0,00 en 1,00 dat de overeenkomstscore aangeeft waarmee twee waarden worden gegroepeerd. 'Druiven' en 'Graes' (ontbrekende 'p') worden bijvoorbeeld alleen gegroepeerd als deze optie is ingesteld op minder dan 0,90. Een drempelwaarde van 1,00 staat alleen exacte overeenkomsten toe. (Houd er rekening mee dat een fuzzy 'exacte overeenkomst' verschillen kan negeren, zoals hoofdletters, woordvolgorde en interpunctie.) De standaardwaarde is 0,80.
  • TransformationTable: Een tabel waarmee records kunnen worden gegroepeerd op basis van aangepaste waardetoewijzingen. Deze moet de kolommen Van en Naar bevatten. 'Druiven' is bijvoorbeeld gegroepeerd met 'Rozijnen' als er een transformatietabel wordt geleverd met de kolom 'Van' met 'Druiven' en de kolom 'Aan' met 'Rozijnen'. Houd er rekening mee dat de transformatie wordt toegepast op alle exemplaren van de tekst in de transformatietabel. Met de bovenstaande transformatietabel wordt "Druiven zijn zoet" ook gegroepeerd met "Rozijnen zijn zoet".

Voorbeeld 1

Zoek de representatieve waarden voor de locatie van de werknemers.

Gebruik

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]
)

Uitvoer

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]
)