एसएएस में फ़ज़ी मिलान कैसे करें (उदाहरण के साथ)


अक्सर, आप एसएएस में अपूर्ण रूप से मेल खाने वाली स्ट्रिंग के आधार पर डेटा के दो सेटों को जोड़ना चाह सकते हैं।

इसे अक्सर फ़ज़ी मिलान कहा जाता है.

एसएएस में फ़ज़ी मिलान करने का सबसे आसान तरीका COMPGED फ़ंक्शन के साथ SOUNDEX फ़ंक्शन का उपयोग करना है।

इन दो कार्यों का उपयोग स्ट्रिंग्स के बीच समानता को मापने के लिए किया जाता है और समान स्ट्रिंग्स को “मिलान” करने के लिए उपयोग किया जा सकता है।

निम्नलिखित उदाहरण दिखाता है कि एसएएस में फ़ज़ी मिलान करने के लिए इन फ़ंक्शंस का उपयोग कैसे करें।

उदाहरण: एसएएस में फ़ज़ी मिलान कैसे करें

मान लीजिए कि हमारे पास एसएएस में निम्नलिखित डेटासेट है जिसमें विभिन्न बास्केटबॉल खिलाड़ियों की टीम के नाम और अंकों के बारे में जानकारी है:

 /*create first dataset*/     
data data1;
  input team $points;
  datalines ;
Mavs 19
Nets 22
Kings 34
Warriors 19
Magic 32   
;
run ;
/*view dataset*/
proc print data =data1; 

और मान लीजिए कि हमारे पास विभिन्न बास्केटबॉल खिलाड़ियों की टीम के नाम और सहायता के साथ एक और डेटासेट है:

 /*create second dataset*/     
data data2;
  input team $assists;
  datalines ;
Netts 8
Majick 7
Keengs 8
Warriors 12
Mavs 4    
;
run ;
/*view dataset*/
proc print data =data2; 

ध्यान दें कि इस डेटासेट में कई टीम के नाम समान हैं लेकिन पिछले डेटासेट में टीम के नाम के समान नहीं हैं।

हम फ़ज़ी मैच करने और समान टीम नामों के आधार पर इन दो डेटा सेटों को एक साथ लाने के लिए एसएएस में निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 /*use fuzzy matching to merge datasets based on similar team names*/
data data3;                                       
  setdata1 ;
  tmp1= soundex (team); /*encode team names from data1 */
  do i=1 to nobs;     
    set data2( rename =(team=team2)) point =i nobs =nobs;        
    tmp2= soundex (team2); /*encode team names from data2* /
    dif= compged (tmp1,tmp2); /*determine similarity between team names */
    if dif<=50 then do ;
      drop i tmp1 tmp2 dif; /*dr op unnecessary variables*/
      output ;
    end ;
  end ;
run ;

/*view resulting dataset*/
proc print data=data3; 

एसएएस में अस्पष्ट मिलान का उदाहरण

SOUNDEX और COMPGED फ़ंक्शंस उनकी समानता के आधार पर टीम के नामों का मिलान करने में सक्षम हैं और एक अंतिम डेटासेट तैयार करते हैं जो दो डेटासेट को मर्ज करता है।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि एसएएस में अन्य सामान्य कार्य कैसे करें:

एसएएस: एक-से-अनेक मर्ज कैसे करें
एसएएस: मर्ज स्टेटमेंट में (in=a) का उपयोग कैसे करें
एसएएस: यदि ए बी नहीं है तो विलय कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *