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
कुंजी स्तंभों की तुलना के तरीकों को निर्दिष्ट करने के लिए
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