Číst v angličtině

Sdílet prostřednictvím


Table.FuzzyGroup

Syntax

Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table

Asi

Seskupí řádky table podle přibližné shody hodnot v zadaném sloupci keypro každý řádek. Pro každou skupinu se vytvoří záznam obsahující klíčové sloupce (a jejich hodnoty) spolu s agregovanými sloupci určenými aggregatedColumns. Tato funkce nemůže zaručit vrácení pevného pořadí řádků.

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ě kulturních pravidel. Může to být libovolný platný kulturní název. Například možnost Kultura "ja-JP" seskupí záznamy na základě japonské kultury. Výchozí hodnota je "", která seskupuje na základě invariantní anglické jazykové verze.
  • IgnoreCase: Logická hodnota (true/false), která umožňuje seskupování klíčů bez rozlišování malých a velkých písmen. Například když je to pravdivé, jsou "Hrozny" 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. Pokud je například pravda, "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 seskupené dohromady pouze v případě, že je tato možnost nastavená na méně než 0,90. 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 k dispozici transformační tabulka se sloupcem "From" obsahujícím "Hrozny" a sloupcem "To" obsahujícím "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

Seskupte tabulku přidáním agregovaného sloupce [Count], který obsahuje počet zaměstnanců v každém umístění (each Table.RowCount(_)).

využití

Table.FuzzyGroup(
    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",
    {"Count", each Table.RowCount(_)},
    [IgnoreCase = true, IgnoreSpace = true]
)

výstupní

Table.FromRecords({
    [Location = "Seattle", Count = 4],
    [Location = "Vancouver", Count = 3]
})