Skip to main content

Table.FuzzyJoin

āļĢāļ§āļĄāđāļ–āļ§āļˆāļēāļāļŠāļ­āļ‡āļ•āļēāļĢāļēāļ‡āļ—āļĩāđˆ Fuzzy āļ•āļĢāļ‡āļāļąāļ™āļ•āļēāļĄāļ„āļĩāļĒāđŒāļ—āļĩāđˆāļāļģāļŦāļ™āļ”

Syntax​

Table.FuzzyJoin(
table1 as table,
key1 as any,
table2 as table,
key2 as any,
optional joinKind as JoinKind.Type,
optional joinOptions as record
) as table

Remarks​

āļĢāļ§āļĄāđāļ–āļ§āļ‚āļ­āļ‡ table1 āļāļąāļšāđāļ–āļ§āļ‚āļ­āļ‡ table2 āļ•āļēāļĄāļāļēāļĢāđ€āļ—āļĩāļĒāļšāļ•āļĢāļ‡āđāļšāļš Fuzzy āļ‚āļ­āļ‡āļ„āđˆāļēāļ„āļ­āļĨāļąāļĄāļ™āđŒāļŦāļĨāļąāļāļ—āļĩāđˆāđ€āļĨāļ·āļ­āļāđ‚āļ”āļĒ key1 (āļŠāļģāļŦāļĢāļąāļš table1) āđāļĨāļ° key2 (āļŠāļģāļŦāļĢāļąāļš table2)
āļāļēāļĢāđ€āļ—āļĩāļĒāļšāļ•āļĢāļ‡āđāļšāļš Fuzzy āđ€āļ›āđ‡āļ™āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ•āļēāļĄāļ„āļ§āļēāļĄāļ„āļĨāđ‰āļēāļĒāļ„āļĨāļķāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļĄāļēāļāļāļ§āđˆāļēāļ„āļ§āļēāļĄāđ€āļ—āđˆāļēāļāļąāļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ
āļ•āļēāļĄāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļāļēāļĢāļĢāļ§āļĄāļ āļēāļĒāđƒāļ™āļˆāļ°āļ—āļģāļ‡āļēāļ™ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļŠāļēāļĄāļēāļĢāļ–āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļˆāļ°āļĢāļ§āļĄ joinKind āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ–āļķāļ‡āļŠāļ™āļīāļ”āļāļēāļĢāļĢāļ§āļĄ āđ‚āļ”āļĒāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ•āđˆāļēāļ‡āđ† āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ:

  • JoinKind.Inner
  • JoinKind.LeftOuter
  • JoinKind.RightOuter
  • JoinKind.FullOuter
  • JoinKind.LeftAnti
  • JoinKind.RightAnti

āļ­āļēāļˆāļĢāļ§āļĄāļŠāļļāļ”āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ‚āļ­āļ‡ joinOptions āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ§āļīāļ˜āļĩāļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āļ­āļĨāļąāļĄāļ™āđŒāļŦāļĨāļąāļ āđ‚āļ”āļĒāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ•āđˆāļēāļ‡āđ† āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ:
  • ConcurrentRequests : āļ•āļąāļ§āđ€āļĨāļ‚āļĢāļ°āļŦāļ§āđˆāļēāļ‡ 1 āđāļĨāļ° 8 āļ—āļĩāđˆāļĢāļ°āļšāļļāļˆāļģāļ™āļ§āļ™āđ€āļ˜āļĢāļ”āđāļšāļšāļ‚āļ™āļēāļ™āļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ—āļĩāļĒāļšāļ•āļĢāļ‡āđāļšāļš Fuzzy āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ 1
  • Culture : āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āđ€āļ—āļĩāļĒāļšāļ•āļĢāļ‡āļĢāļ°āđ€āļšāļĩāļĒāļ™āļ•āļēāļĄāļāļŽāđ€āļ‰āļžāļēāļ°āļ§āļąāļ’āļ™āļ˜āļĢāļĢāļĄ āđ‚āļ”āļĒāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āđ‡āļ™āļŠāļ·āđˆāļ­āļ§āļąāļ’āļ™āļ˜āļĢāļĢāļĄāļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āđ„āļ”āđ‰ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ§āļąāļ’āļ™āļ˜āļĢāļĢāļĄ "ja-JP" āļˆāļ°āļˆāļąāļšāļ„āļđāđˆāļĢāļ°āđ€āļšāļĩāļĒāļ™āļ•āļēāļĄāļ§āļąāļ’āļ™āļ˜āļĢāļĢāļĄāļāļĩāđˆāļ›āļļāđˆāļ™ āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ "" āļ‹āļķāđˆāļ‡āļˆāļąāļšāļ„āļđāđˆāļ•āļēāļĄāļ§āļąāļ’āļ™āļ˜āļĢāļĢāļĄāļ­āļąāļ‡āļāļĪāļĐāđāļšāļšāļ„āļ‡āļ—āļĩāđˆ
  • IgnoreCase : āļ„āđˆāļēāļ•āļĢāļĢāļāļ° (āļˆāļĢāļīāļ‡/āđ€āļ—āđ‡āļˆ) āļ—āļĩāđˆāļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĄāļĩāļāļēāļĢāđ€āļ—āļĩāļĒāļšāļ•āļĢāļ‡āļ„āļĩāļĒāđŒāđāļšāļšāđ„āļĄāđˆāļ•āļĢāļ‡āļ•āļēāļĄāļ•āļąāļ§āļžāļīāļĄāļžāđŒāđƒāļŦāļāđˆ-āđ€āļĨāđ‡āļ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āđ€āļĄāļ·āđˆāļ­āļ„āđˆāļēāđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ "Grapes" āļˆāļ°āļ–āļđāļāļˆāļąāļšāļ„āļđāđˆāļāļąāļš "grapes" āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­āļˆāļĢāļīāļ‡
  • IgnoreSpace : āļ„āđˆāļēāļ•āļĢāļĢāļāļ° (āļˆāļĢāļīāļ‡/āđ€āļ—āđ‡āļˆ) āļ—āļĩāđˆāļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĄāļĩāļāļēāļĢāļĢāļ§āļĄāļŠāđˆāļ§āļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļžāļ·āđˆāļ­āļ„āđ‰āļ™āļŦāļēāļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āđ€āļĄāļ·āđˆāļ­āļ„āđˆāļēāđ€āļ›āđ‡āļ™āļˆāļĢāļīāļ‡ "Gra pes" āļˆāļ°āļ•āļĢāļ‡āļāļąāļš "Grapes" āđ‚āļ”āļĒāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­āļˆāļĢāļīāļ‡
  • NumberOfMatches : āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļ—āļĩāđˆāļĢāļ°āļšāļļāļˆāļģāļ™āļ§āļ™āļŠāļđāļ‡āļŠāļļāļ”āļ‚āļ­āļ‡āđāļ–āļ§āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āļāļĨāļąāļšāđ„āļ”āđ‰āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāđāļ–āļ§āļ‚āđ‰āļ­āļĄāļđāļĨāļ›āđ‰āļ­āļ™āđ€āļ‚āđ‰āļē āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļ„āđˆāļē 1 āļˆāļ°āļŠāđˆāļ‡āļāļĨāļąāļšāđāļ–āļ§āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļĄāļēāļāļ—āļĩāđˆāļŠāļļāļ”āļŦāļ™āļķāđˆāļ‡āđāļ–āļ§āļŠāļģāļŦāļĢāļąāļšāđāļ–āļ§āļ‚āđ‰āļ­āļĄāļđāļĨāļ›āđ‰āļ­āļ™āđ€āļ‚āđ‰āļēāđāļ•āđˆāļĨāļ°āđāļ–āļ§ āļ–āđ‰āļēāđ„āļĄāđˆāđ„āļ”āđ‰āļĢāļ°āļšāļļāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ™āļĩāđ‰ āļĢāļ°āļšāļšāļˆāļ°āļŠāđˆāļ‡āļāļĨāļąāļšāđāļ–āļ§āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”
  • SimilarityColumnName : āļŠāļ·āđˆāļ­āļŠāļģāļŦāļĢāļąāļšāļ„āļ­āļĨāļąāļĄāļ™āđŒāļ—āļĩāđˆāđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāļ„āļĨāđ‰āļēāļĒāļ„āļĨāļķāļ‡āļāļąāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ„āđˆāļēāļ›āđ‰āļ­āļ™āđ€āļ‚āđ‰āļēāđāļĨāļ°āļ„āđˆāļēāļ•āļąāļ§āđāļ—āļ™āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ›āđ‰āļ­āļ™āđ€āļ‚āđ‰āļēāļ™āļąāđ‰āļ™ āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ null āļ‹āļķāđˆāļ‡āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰āļˆāļ°āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ„āļ­āļĨāļąāļĄāļ™āđŒāđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāļ„āļ§āļēāļĄāļ„āļĨāđ‰āļēāļĒāļ„āļĨāļķāļ‡āļāļąāļ™
  • Threshold : āļ•āļąāļ§āđ€āļĨāļ‚āļĢāļ°āļŦāļ§āđˆāļēāļ‡ 0.00 āđāļĨāļ° 1.00 āļ—āļĩāđˆāļĢāļ°āļšāļļāļ„āļ°āđāļ™āļ™āļ„āļ§āļēāļĄāļ„āļĨāđ‰āļēāļĒāļ„āļĨāļķāļ‡āļāļąāļ™āļ—āļĩāđˆāļˆāļ°āļˆāļąāļšāļ„āļđāđˆāļ„āđˆāļēāļŠāļ­āļ‡āļ„āđˆāļē āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ "Grapes" āđāļĨāļ° "Graes" (āđ„āļĄāđˆāļĄāļĩ "p") āļˆāļ°āļ•āļĢāļ‡āļāļąāļ™āļāđ‡āļ•āđˆāļ­āđ€āļĄāļ·āđˆāļ­āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ™āđ‰āļ­āļĒāļāļ§āđˆāļē 0.90 āļ„āđˆāļēāđ€āļāļ“āļ‘āđŒ 1.00 āļˆāļ°āļ­āļ™āļļāļāļēāļ•āđ€āļ‰āļžāļēāļ°āļ„āđˆāļēāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™āļ—āļļāļāļ›āļĢāļ°āļāļēāļĢāđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ (āđ‚āļ›āļĢāļ”āļ—āļĢāļēāļšāļ§āđˆāļē "āļ•āļĢāļ‡āļāļąāļ™āļ—āļļāļāļ›āļĢāļ°āļāļēāļĢ" āļ—āļĩāđˆāđ„āļĄāđˆāļŠāļąāļ”āđ€āļˆāļ™āļ­āļēāļˆāļĨāļ°āđ€āļ§āđ‰āļ™āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡ āđ€āļŠāđˆāļ™ āļ•āļąāļ§āļžāļīāļĄāļžāđŒ āļĨāđāļēāļ”āļąāļšāļ„āđāļē āđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ§āļĢāļĢāļ„āļ•āļ­āļ™) āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ 0.80
  • TransformationTable : āļ•āļēāļĢāļēāļ‡āļ—āļĩāđˆāļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āđ€āļ—āļĩāļĒāļšāļ•āļĢāļ‡āļĢāļ°āđ€āļšāļĩāļĒāļ™āļ•āļēāļĄāļāļēāļĢāđāļĄāļ›āļ„āđˆāļēāđāļšāļšāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡ āļ‹āļķāđˆāļ‡āļ„āļ§āļĢāļĄāļĩāļ„āļ­āļĨāļąāļĄāļ™āđŒ "From" āđāļĨāļ° "To" āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ "Grapes" āļˆāļ°āļ•āļĢāļ‡āļāļąāļš "Raisins" āļ–āđ‰āļēāļ•āļēāļĢāļēāļ‡āļāļēāļĢāđāļ›āļĨāļ‡āļĄāļĩāļ„āļ­āļĨāļąāļĄāļ™āđŒ "From" āļ—āļĩāđˆāļĄāļĩ "Grapes" āđāļĨāļ°āļ„āļ­āļĨāļąāļĄāļ™āđŒ "To" āļ—āļĩāđˆāļĄāļĩ "Raisins" āđ‚āļ›āļĢāļ”āļ—āļĢāļēāļšāļ§āđˆāļēāļāļēāļĢāđāļ›āļĨāļ‡āļˆāļ°āļ–āļđāļāļ™āļģāđ„āļ›āđƒāļŠāđ‰āļāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™āļ•āļēāļĢāļēāļ‡āļāļēāļĢāđāļ›āļĨāļ‡ āļ”āđ‰āļ§āļĒāļ•āļēāļĢāļēāļ‡āļāļēāļĢāđāļ›āļĨāļ‡āļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™ "Grapes are sweet" āļˆāļ°āļ•āļĢāļ‡āļāļąāļš "Raisins are sweet"

Examples​

Example #1​

āļāļēāļĢāļĢāđˆāļ§āļĄ Fuzzy āļ āļēāļĒāđƒāļ™āļ”āđ‰āļēāļ™āļ‹āđ‰āļēāļĒāļ‚āļ­āļ‡āļŠāļ­āļ‡āļ•āļēāļĢāļēāļ‡āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļš [FirstName]

Table.FuzzyJoin(
Table.FromRecords(
{
[CustomerID = 1, FirstName1 = "Bob", Phone = "555-1234"],
[CustomerID = 2, FirstName1 = "Robert", Phone = "555-4567"]
},
type table [CustomerID = nullable number, FirstName1 = nullable text, Phone = nullable text]
),
{"FirstName1"},
Table.FromRecords(
{
[CustomerStateID = 1, FirstName2 = "Bob", State = "TX"],
[CustomerStateID = 2, FirstName2 = "bOB", State = "CA"]
},
type table [CustomerStateID = nullable number, FirstName2 = nullable text, State = nullable text]
),
{"FirstName2"},
JoinKind.LeftOuter,
[IgnoreCase = true, IgnoreSpace = false]
)

Result:

Table.FromRecords({
[
CustomerID = 1,
FirstName1 = "Bob",
Phone = "555-1234",
CustomerStateID = 1,
FirstName2 = "Bob",
State = "TX"
],
[
CustomerID = 1,
FirstName1 = "Bob",
Phone = "555-1234",
CustomerStateID = 2,
FirstName2 = "bOB",
State = "CA"
],
[
CustomerID = 2,
FirstName1 = "Robert",
Phone = "555-4567",
CustomerStateID = null,
FirstName2 = null,
State = null
]
})

Category​

Table.Transformation