Sdílet prostřednictvím


Table.AddFuzzyClusterColumn

Syntax

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

Asi

Přidá nový sloupec newColumnName do table s reprezentativními hodnotami columnName. Zástupci jsou získáni přibližnými odpovídajícími hodnotami v columnName, pro každý řádek.

K určení způsobu porovnání klíčových sloupců může být zahrnuta volitelná sada options. Mezi možnosti patří:

  • Culture: Umožňuje seskupování záznamů na základě pravidel specifických pro konkrétní kulturu. Může to být jakýkoli platný název kultury. Například možnost Kulturní možnost "ja-JP" seskupí záznamy na základě japonské kultury. Výchozí hodnota je "", což seskupuje na základě invariantní anglické kultury.
  • IgnoreCase: Logická hodnota (true/false), která umožňuje seskupování klíčů bez rozlišování malých a velkých písmen. Pokud je například pravda, "Hrozny" jsou seskupeny s "hrozny". Výchozí hodnota je true.
  • IgnoreSpace: Logická hodnota (true/false), která umožňuje kombinování textových částí, aby bylo možné najít skupiny. Například, když to platí, "Gra pes" je seskupen s "Hrozny". Výchozí hodnota je true.
  • SimilarityColumnName: Název sloupce, který zobrazuje podobnost mezi vstupní hodnotou a reprezentativní hodnotou pro daný vstup. Výchozí hodnota je null, v takovém případě se nepřidá nový sloupec pro podobnosti.
  • Threshold: Číslo od 0,00 do 1,00, které určuje skóre podobnosti, při kterém budou seskupeny dvě hodnoty. Například "Hrozny" a "Graes" (chybí "p") jsou seskupeny dohromady pouze v případě, že je tato možnost nastavena na hodnotu menší než 0,90. Tato prahová hodnota 1,00 umožňuje pouze přesné shody. (Všimněte si, že přibližná "přesná shoda" může ignorovat rozdíly, jako jsou velikost textu, pořadí slov a interpunkce.) Výchozí hodnota je 0,80.
  • TransformationTable: Tabulka, která umožňuje seskupování záznamů na základě vlastních mapování hodnot. Měl by obsahovat sloupce Od a Komu. Například "Hrozny" se seskupí s "Rozinky", pokud je transformační tabulka k dispozici se sloupcem "From" obsahujícím "Hrozny" a sloupec "To" obsahující "Rozinky". Všimněte si, že transformace se použije u všech výskytů textu v transformační tabulce. S výše uvedenou transformační tabulkou se také "Hrozny jsou sladké" seskupí s "Rozinky jsou sladké".

Příklad 1

Najděte reprezentativní hodnoty pro umístění zaměstnanců.

využití

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

Výstup

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