Čítať v angličtine

Zdieľať cez


Table.FuzzyGroup

Syntax

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

Informácie

Zoskupí riadky tabuľky podľa približných table zhôd s hodnotami v zadanom stĺpci keypre každý riadok. Pre každú skupinu sa vytvorí záznam obsahujúci kľúčové stĺpce (a ich hodnoty) spolu so všetkými agregovanými stĺpcami zadanými hodnotou aggregatedColumns. Táto funkcia nemôže zaručiť, že dôjde k vráteniu pevného poradia riadkov.

Voliteľná množina stĺpcov, ktorá options určuje spôsob porovnania kľúčových stĺpcov, môže byť tiež zahrnutá. Možnosti zahŕňajú:

  • Culture: Umožňuje zoskupovanie záznamov na základe pravidiel špecifických pre jazykovú verziu. Môže ísť o ľubovoľný platný názov jazykovej verzie. Napríklad možnosť Culture s "sk-SK" zoskupí záznamy na základe japonskej kultúry. Predvolená hodnota je "", ktorá zoskupuje na základe invariantnej anglickej jazykovej verzie.
  • IgnoreCase: Logická hodnota (true/false), ktorá umožňuje zoskupovanie kľúčov s rozlišovaním veľkých a malých písmen. Napríklad, ak je hodnota True, reťazec "Hrozno" bude zoskupené s reťazcom "hrozno". Predvolená hodnota je True.
  • IgnoreSpace: Logická hodnota (true/false), ktorá umožňuje kombinovať textové časti s cieľom vyhľadať skupiny. Napríklad, ak je hodnota True, reťazec "H hrozno" bude zoskupené s reťazcom "Hrozno". Predvolená hodnota je True.
  • SimilarityColumnName: Názov stĺpca, ktorý zobrazuje podobnosť medzi vstupnou hodnotou a reprezentatívnou hodnotou pre daný vstup. Predvolená hodnota je null, v takom prípade sa nový stĺpec pre podobnosti nepridá.
  • Threshold: Číslo medzi 0,00 a 1,00, ktoré určuje skóre podobnosti, pri ktorom sa budú zoskupovať dve hodnoty. Napríklad reťazec "Hrozno" sa zoskupí s názvom "Graes" (chýba písmeno "z") iba v prípade, že je táto možnosť nastavená na hodnotu menšiu ako 0,90. Prahová hodnota 1,00 umožňuje len presné zhody. (Všimnite si, že približná "presná zhoda" môže ignorovať rozdiely, ako je napríklad puzdro, poradie slov a interpunkčné znenie.) Predvolená hodnota je 0,80.
  • TransformationTable: Tabuľka, ktorá umožňuje zoskupovanie záznamov na základe mapovaní vlastných hodnôt. Mala by obsahovať stĺpce "Od" a "Do". Napríklad reťazec "Hrozno" sa zoskupí s reťazcom "Hrozienka", ak je v transformačnej tabuľke uvedené v stĺpci "Od" hodnota "Hrozno" a v stĺpci "Do" je uvedená hodnota "Hrozienka". Všimnite si, že transformácia sa použije na všetky výskyty textu v tabuľke transformácie. S vyššie uvedenou tabuľkou transformácie sa položka "Hrozno je sladké" zoskupí s reťazcom "Hrozienka sú sladké".

Príklad č. 1

Zoskupte tabuľku pridaním agregovaného stĺpca [Count], ktorý obsahuje počet zamestnancov v každom mieste (each Table.RowCount(_)).

Použitie

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ýkon

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