मुख्य कंटेंट तक स्किप करें

Table.FuzzyJoin

प्रदत्त कुंजियों के आधार पर फ़ज़ी मिलान वाली दो तालिकाओं की पंक्तियों को शामिल करता है.

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 के लिए) key1 और (table2 के लिए) key2 द्वारा चुने गए कुंजी स्तंभों के मानों के फ़ज़ी मिलान के आधार पर table1 की पंक्तियों को table2 की पंक्तियों के साथ जोड़ता है.

फ़ज़ी मिलान पाठ की समरूपता के बजाय पाठ की समानता के आधार पर की जाने वाली एक तुलना है.

डिफ़ॉल्ट रूप से एक आंतरिक जोड़ निष्पादित किया जाता है, हालाँकि जोड़ का प्रकार निर्दिष्ट करने के लिए एक वैकल्पिक joinKind को शामिल किया जा सकता है. विकल्पों में शामिल हैं:

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

कुंजी स्तंभों की तुलना के तरीकों को निर्दिष्ट करने के लिए joinOptions का एक वैकल्पिक सेट शामिल किया जा सकता है. विकल्पों में शामिल हैं:

  • ConcurrentRequests : 1 और 8 के बीच एक संख्या जो समानांतर थ्रेड्स की संख्या को फ़ज़ी मिलान के लिए उपयोग करने के लिए निर्दिष्ट करती है. डिफ़ॉल्ट मान 1 है.
  • Culture : निर्दिष्ट कल्चर नियमों के आधार पर मिलान वाले रिकॉर्ड्स की अनुमति देता है. यह कोई मान्य कल्चर नाम हो सकता है. उदाहरण के लिए, "ja-JP" का कल्चर विकल्प, जापानी संस्कृति पर आधारित रिकॉर्ड से मेल खाता है. डिफ़ॉल्ट मान "" है, जो अपरिवर्तनीय अंग्रेज़ी कल्चर के आधार पर मेल खाता है.
  • IgnoreCase : एक तार्किक (सही/गलत) मान, जो केस-असंवेदी कुंजी मिलान की अनुमति देता है. उदाहरण के लिए, जब सही होता है, तो "Grapes" का मिलान "grapes" के साथ किया जाता है. डिफ़ॉल्ट मान सही होता है.
  • IgnoreSpace : एक तार्किक (सही/गलत) मान, जो मेल ढूँढने के लिए पाठ भागों के संयोजन की अनुमति देता है. उदाहरण के लिए, जब सही होता है, तो "Gra pes" का मिलान "Grapes" के साथ किया जाता है. डिफ़ॉल्ट मान सही होता है.
  • NumberOfMatches : एक पूर्णांक उस मेल खाने वाली पंक्तियों की अधिकतम संख्या को निर्दिष्ट करती है, जो लौटाई जा सकती हैं. उदाहरण के लिए, 1 का मान प्रत्येक इनपुट पंक्ति के लिए ज़्यादा से ज़्यादा एक मेल खाने वाली पंक्ति लौटाएगा. यदि यह विकल्प प्रदान नहीं किया जाता है, तो सभी मेल खाने वाली पंक्तियाँ लौट आती हैं.
  • SimilarityColumnName : उस स्तंभ का नाम, जो इनपुट मान और उस इनपुट के प्रतिनिधि मान के बीच की समानता को दर्शाता है. डिफ़ॉल्ट मान नल है, इस स्थिति में समानता के लिए एक नया स्तंभ नहीं जोड़ा जाएगा.
  • Threshold : 0.00 और 1.00 के बीच की संख्या जो समान होने के स्कोर को दिखाती है जिस पर दो मानों का मिलान किया जाएगा. उदाहरण के लिए, "Grapes" और "Graes" (अनुपलब्ध "p") केवल तभी मेल खाते हैं जब यह विकल्प 0.90 से कम पर सेट हो. 1.00 का थ्रेशोल्ड केवल सटीक मिलान की अनुमति देता है. (ध्यान दें कि एक फ़ज़ी "सटीक मिलान" आवरण, शब्द क्रम और विराम चिह्न जैसे अंतरों की उपेक्षा कर सकता है.) डिफ़ॉल्ट मान 0.80 है.
  • TransformationTable : एक तालिका जो कस्टम मान मैपिंग के आधार पर रिकॉर्ड्स के मिलान की अनुमति देती है. इसमें "प्रेषक" और "प्रेषित" स्तंभ शामिल होने चाहिए. उदाहरण के लिए, "Grapes" को "Raisins" के साथ समूहीकृत किया गया है, यदि कोई रूपांतरण तालिका "प्रेषक" स्तंभ वाले "Grapes" और "प्रेषित" स्तंभ वाले "Raisins" के साथ प्रदान की गई है. ध्यान दें कि रूपांतरण तालिका में पाठ की सभी पुनरावृत्तियों के लिए रूपांतरण लागू किया जाएगा. ऊपर दिए गए रूपांतरण तालिका के साथ, "Grapes are sweet" के साथ "Raisins are sweet" को भी समूहीकृत किया जाएगा.

Examples​

Example #1​

[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