Olvasás angol nyelven

Megosztás a következőn keresztül:


Table.FuzzyGroup

Szintaxis

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

Rólunk

Csoportosítja a table sorait minden sor esetén a megadott oszlopban lévő key-hez hozzávetőlegesen illeszkedő értékek alapján. Minden csoporthoz létrejön egy rekord, amely tartalmazza a kulcsoszlopokat (és azok értékeit), valamint a aggregatedColumnsáltal megadott összesítő oszlopokat. Ez a függvény nem garantálja a sorok rögzített sorrendjének visszaadását.

A kulcsoszlopok összehasonlításának módjának megadásához választható options is szerepelhet. A lehetőségek a következők:

  • Culture: Lehetővé teszi a rekordok kultúraspecifikus szabályok alapján történő csoportosítását. Bármilyen érvényes kulturális név lehet. Például a "ja-JP" Kultúra lehetőség a japán kultúra alapján csoportosítja a rekordokat. Az alapértelmezett érték az üres ("") karakterlánc, amely az invariáns angol kultúra szerint csoportosít.
  • IgnoreCase: Logikai (igaz/hamis) érték, amely lehetővé teszi a kis- és nagybetűkre nem érzékeny kulcs-csoportosítást. Amikor például igaz, a "Szőlő" a "szőlővel" együtt van csoportosítva. Az alapértelmezett érték igaz.
  • IgnoreSpace: Logikai (igaz/hamis) érték, amely lehetővé teszi a szövegrészek kombinálását a csoportok kereséséhez. Ha például igaz, a "Gra pes" a "Szőlő" csoportba van csoportosítva. Az alapértelmezett érték igaz.
  • SimilarityColumnName: Az oszlop neve, amely egy bemeneti érték és az adott bemenet reprezentatív értéke közötti hasonlóságot mutatja. Az alapértelmezett érték null, ebben az esetben a rendszer nem ad hozzá új oszlopot a hasonlóságokhoz.
  • Threshold: Egy 0,00 és 1,00 közötti szám, amely meghatározza a hasonlósági pontszámot, amelyben két érték lesz csoportosítva. Például a "Szőlő" és a "Graes" (hiányzik a "p") csak akkor lesz összecsoportosítva, ha ez a beállítás kevesebb mint 0,90-re van állítva. Az 1,00-s küszöbérték csak pontos egyezéseket tesz lehetővé. (Vegye figyelembe, hogy a homályos "pontos egyezés" figyelmen kívül hagyhatja a különbségeket, például a burkolatot, a szósorrendet és az írásjeleket.) Az alapértelmezett érték 0,80.
  • TransformationTable: Olyan tábla, amely lehetővé teszi a rekordok egyéni értékleképezések alapján történő csoportosítását. Tartalmaznia kell a "From" és "To" oszlopokat. Például a "Szőlő" a "Mazsola" kategóriába van csoportosítva, ha van egy olyan átalakítási táblázat, amelyben az "Ebből" oszlop a "Szőlő" és az "Ez lesz" oszlop a "Mazsola" értéket tartalmazza. Vegye figyelembe, hogy az átalakítás az átalakítási táblázat szövegének minden előfordulására érvényes lesz. A fenti átalakítási táblázattal a "Szőlő édes" is egy csoportba kerül a "Mazsola édes"-sel.

1. példa

Csoportosítsa a táblát, és adjon hozzá egy összesítő oszlopot [Darabszám], amely az egyes helyeken (each Table.RowCount(_)) lévő alkalmazottak számát tartalmazza.

használat

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

kimeneti

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