एसक्यूएल ROW_NUMBER
विंडोइंग समारोह डुप्लिकेट बनाने के लिए, आप डेटा दोनोंPARTITION
और ORDER BY
खंड द्वारा निर्धारित सॉर्ट करना होगा। बाद के डेटा चरण में, SET
क्रमबद्ध डेटा सेट विभाजन चर द्वारा केवल और FIRST.
स्वचालित चर नियंत्रण का उपयोग नई पंक्ति संख्या चर निर्दिष्ट करें।
proc sort data=companyData;
by region name;
run;
data want;
set companyData;
by region;
if first.region then row_number = 1;
else row_number + 1;
run;
सूचना डेटा चरण में BY
बयान ANSI SQL में PARTITION BY
खंड लेकिन PROC SORT
कदम से मेल खाती है भी ORDER BY
खंड में स्तंभों के आधार पर क्रमबद्ध करता:
यहाँ द्वारा अपने निर्धारित उदाहरण के लिए एक समाधान है। यह भी ध्यान रखें कि यदि आप "माइग्रेटिंग" क्वेरी में ORDER BY
SQL क्लॉज शामिल हैं, तो आपको इसे PROC SORT
चरण के साथ पालन करना होगा।
@ जो अच्छी पकड़! और दोनों पर पूरी तरह से सहमत हैं, मैंने इसे संपादित किया! धन्यवाद! – isJustMe
हाँ, आप इस मामले में mgith एक ओवरहेड हैं – isJustMe
इस उत्तर में सॉर्टिंग चरण गुम है जो बॉब नीचे उल्लेखित है। अतिरिक्त सॉर्टिंग चरण जोड़ने के बिना आपको ऊपर दिए गए SQL उदाहरण के समान परिणाम प्राप्त करने की गारंटी नहीं है। –