Teilen über


Table.FuzzyGroup

Syntax

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

About

Gruppiert die Zeilen table nach fuzzlig übereinstimmenden Werten in der angegebenen Spalte keyfür jede Zeile. Für jede Gruppe wird ein Datensatz erstellt, der die Schlüsselspalten (und deren Werte) zusammen mit allen aggregierten Spalten enthält, die durch aggregatedColumns. Diese Funktion kann nicht garantieren, dass eine feste Reihenfolge von Zeilen zurückgegeben wird.

Ein optionaler Satz kann options eingeschlossen werden, um anzugeben, wie die Schlüsselspalten verglichen werden. Zu den Optionen gehören:

  • Culture: Ermöglicht das Gruppieren von Datensätzen basierend auf kulturspezifischen Regeln. Dabei kann es sich um einen beliebigen gültigen Kulturnamen handeln. Eine Kulturoption von "ja-JP" gruppiert Datensätze beispielsweise basierend auf der japanischen Kultur. Der Standardwert ist "", die auf der invarianten englischen Kultur basiert.
  • IgnoreCase: Ein logischer Wert (true/false), der die Groß-/Kleinschreibung der Schlüsselgruppierung zulässt. Wenn beispielsweise "true" lautet, wird "Trauben" mit "Trauben" gruppiert. Der Standardwert ist true.
  • IgnoreSpace: Ein logischer Wert (true/false), der das Kombinieren von Textteilen ermöglicht, um Gruppen zu finden. Wenn beispielsweise "true" lautet, wird "Gra pes" mit "Trauben" gruppiert. Der Standardwert ist true.
  • SimilarityColumnName: Ein Name für die Spalte, die die Ähnlichkeit zwischen einem Eingabewert und dem repräsentativen Wert für diese Eingabe anzeigt. Der Standardwert ist NULL, in diesem Fall wird keine neue Spalte für Ähnlichkeiten hinzugefügt.
  • Threshold: Eine Zahl zwischen 0,00 und 1,00, die die Ähnlichkeitsbewertung angibt, mit der zwei Werte gruppiert werden. Beispielsweise werden "Trauben" und "Graes" (fehlendes "p") nur gruppiert, wenn diese Option auf weniger als 0,90 festgelegt ist. Ein Schwellenwert von 1,00 lässt nur genaue Übereinstimmungen zu. (Beachten Sie, dass eine fuzzy "genaue Übereinstimmung" Unterschiede wie Groß-/Kleinschreibung, Wortreihenfolge und Interpunktion möglicherweise ignoriert.) Der Standardwert ist 0,80.
  • TransformationTable: Eine Tabelle, die das Gruppieren von Datensätzen basierend auf benutzerdefinierten Wertzuordnungen zulässt. Sie sollte die Spalten "Von" und "An" enthalten. Beispielsweise wird "Trauben" mit "Raisins" gruppiert, wenn eine Transformationstabelle mit der Spalte "From" mit "Trauben" und der Spalte "An" mit "Raisins" bereitgestellt wird. Beachten Sie, dass die Transformation auf alle Vorkommen des Texts in der Transformationstabelle angewendet wird. Mit der obigen Transformationstabelle wird "Trauben sind süß" auch mit "Raisins sind süß" gruppiert.

Beispiel 1

Gruppieren Sie die Tabelle, in der eine Aggregatspalte [Anzahl] hinzugefügt wird, die die Anzahl der Mitarbeiter an jedem Standort (each Table.RowCount(_)) enthält.

Verwendung

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

Output

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