Table.AddFuzzyClusterColumn

構文

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

バージョン情報

代表値 columnName が含まれる table に新しい列 newColumnName を追加します。 この代表値は、各行の columnName の値をあいまい一致させることで得た値です。

キー列の比較方法を指定するために、省略可能な options のセットを含めることができます。 次のオプションがあります。

  • Culture:カルチャ固有のルールに基づいて、レコードをグループ化できます。 有効な任意のカルチャ名を指定できます。 たとえば、"ja-JP" というカルチャ オプションでは、日本語カルチャに基づいてレコードをグループ化します。 既定値は "" であり、インバリアント (英語) カルチャに基づいてグループ化します。
  • IgnoreCase:大文字と小文字が区別されないキーのグループ化ができる論理 (true/false) 値。 たとえば、true の場合、"Grapes" は "grapes" とグループ化されます。 既定値は true です。
  • IgnoreSpace:グループを見つけるためにテキスト部分を結合できる論理 (true/false) 値。 たとえば、true の場合、"Gra pes" は "Grapes" とグループ化されます。 既定値は true です。
  • SimilarityColumnName:入力値とその入力の代表値の類似性を示す列の名前です。 既定値は null です。この場合、類似性を示す新しい列は追加されません。
  • Threshold:2 つの値がグループ化される類似性スコアに指定できる、0.00 から 1.00 の数値。 たとえば、"Grapes" と "Graes" ("p" がない) がグループ化されるのは、このオプションが 0.90 未満に設定されている場合のみです。 しきい値が 1.00 の場合は、完全一致のみが許可されます。 (あいまいな "完全一致" では、大文字と小文字の区別、語順、句読点などの違いが無視される場合があることに注意してください)。既定値は 0.80 です。
  • TransformationTable:カスタム値のマッピングに基づいて、レコードをグループ化できるテーブル。 "From" 列と "To" 列が含まれている必要があります。 たとえば、"From" 列に "Grapes" が含まれ、"To" 列に "Raisins" が含まれる変換テーブルが指定されている場合、"Grapes" は "Raisins" とグループ化されます。 変換は、変換テーブル内のすべてのテキストに適用されることに注意してください。 上記の変換テーブルでは、"Grapes are sweet" は "Raisins are sweet" ともグループ化されます。

例 1

従業員の場所の代表値を検索します。

使用方法

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

出力

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