Table.AddFuzzyClusterColumn
Syntaxis
Table.AddFuzzyClusterColumn(table as table, columnName as text, newColumnName as text, optional options as nullable record) as table
Over
Voegt een nieuwe kolom newColumnName
toe aan table
met representatieve waarden van columnName
. De vertegenwoordigers worden voor elke rij verkregen door waarden in columnName
met benadering te matchen.
Een optionele set options
kan worden opgenomen om op te geven hoe de sleutelkolommen moeten worden vergeleken. Opties zijn onder andere:
-
Culture
: hiermee kunt u records groeperen op basis van cultuurspecifieke regels. Dit kan elke geldige cultuurnaam zijn. Een optie Cultuur van bijvoorbeeld 'ja-JP' groepeert 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 hoofdletterongevoelige 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 dit bijvoorbeeld het geval 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 'exacte overeenstemming' met vage grenzen verschillen zoals hoofdletters, woordvolgorde en interpunctie kan negeren.) 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. Bijvoorbeeld, 'Druiven' worden gegroepeerd met 'Rozijnen' als er een transformatietabel wordt geleverd waarin de kolom 'Van' 'Druiven' bevat en de kolom 'Naar' '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]
)