एसएएस में डीओ लूप्स के लिए संपूर्ण गाइड


एसएएस में एक डीओ लूप का उपयोग एक निश्चित संख्या में कार्रवाई करने के लिए किया जा सकता है।

एसएएस में तीन बुनियादी डीओ लूप हैं:

1. लूप बनाएं

 data data1;
x = 0;
do i = 1 to 10;
   x = i*4;
   output ;
end ;
run ;

यह क्या करता है : यह लूप i = 1 से 10 तक 10 पुनरावृत्तियों को निष्पादित करता है, जहां प्रत्येक पंक्ति का मान i को 4 से गुणा करने के बराबर होता है।

जब यह रुकता है : यह लूप केवल 10 पुनरावृत्तियों के बाद रुकता है।

2. लूप के दौरान करें

 data data2;
x = 0;
do i = 1 to 10 while(x < 20 );
   x = i*4;
   output ;
end ;
run ;

यह क्या करता है : यह लूप i = 1 से 10 तक 10 पुनरावृत्तियों को निष्पादित करने का प्रयास करेगा, जहां प्रत्येक पंक्ति का मान i को 4 से गुणा करने के बराबर है।

जब यह रुकता है : यह लूप तब रुकेगा जब x का मान 20 से अधिक हो जाएगा या जब 10 पुनरावृत्तियां पूरी हो जाएंगी, जो भी पहले हो।

3. लूप तक करें

 data data3;
x = 0;
do i = 1 to 10 until(x > 30 );
   x = i*4;
   output ;
end ;
run ;

यह क्या करता है : यह लूप i = 1 से 10 तक 10 पुनरावृत्तियों को निष्पादित करने का प्रयास करेगा, जहां प्रत्येक पंक्ति का मान i को 4 से गुणा करने के बराबर है।

जब यह रुकता है : यह लूप तब रुकेगा जब x का मान 30 से अधिक हो जाएगा या जब 10 पुनरावृत्तियां पूरी हो जाएंगी, जो भी पहले हो।

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक डीओ लूप का उपयोग कैसे करें।

उदाहरण 1: डीओ लूप

हम 10 पंक्तियों का डेटा सेट बनाने के लिए निम्नलिखित DO लूप का उपयोग कर सकते हैं:

 /*use DO loop to create dataset*/
data data1;
x = 0;
do i = 1 to 10;
   x = i*4;
   output ;
end ;
run ;

/*view dataset*/
proc print data =data1;

परिणाम एक डेटा सेट है जिसमें 10 पंक्तियाँ हैं जहाँ कॉलम i में मान 1 से 10 तक हैं और कॉलम x में मान 4 से 40 तक हैं।

ध्यान दें कि आप डेटासेट से इंडेक्स कॉलम को हटाने के लिए ड्रॉप आई का उपयोग कर सकते हैं:

 /*use DO loop to create dataset*/
data data1;
x = 0;
do i = 1 to 10;
   x = i*4;
   output ;
end ;
drop i;
run ;

/*view dataset*/
proc print data =data1; 

उदाहरण 2: लूप करते समय करें

हम i = 1 से 10 तक वेरिएबल i के साथ डेटासेट बनाने के लिए निम्नलिखित DO WHILE लूप का उपयोग कर सकते हैं, जहां प्रत्येक पंक्ति का मान i को 4 से गुणा करने के बराबर है जबकि x 20 से कम है:

 /*use DO WHILE loop to create dataset*/
data data2;
x = 0;
do i = 1 to 10 while (x < 20 );
   x = i*4;
   output ;
end ;
run ;

/*view dataset*/
proc print data =data2; 

ध्यान दें कि xa के 20 तक पहुंचने पर लूप ने पंक्तियाँ बनाना बंद कर दिया।

उदाहरण 3: UNTIL लूप करें

हम i = 1 से 10 तक वेरिएबल i के साथ एक डेटा सेट बनाने के लिए निम्नलिखित DO UNTIL लूप का उपयोग कर सकते हैं, जहां प्रत्येक पंक्ति का मान i को 4 से गुणा करने के बराबर है जब तक कि x 30 से अधिक न हो जाए:

 /*use DO UNTIL loop to create dataset*/
data data3;
x = 0;
do i = 1 to 10 until (x > 30 );
   x = i*4;
   output ;
end ;
run ;

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

ध्यान दें कि x 30 से अधिक हो जाने पर लूप ने पंक्तियाँ बनाना बंद कर दिया।

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

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

एसएएस में डेटा को सामान्य कैसे करें
एसएएस में डुप्लिकेट कैसे हटाएं
एसएएस में लुप्त मानों को शून्य से कैसे बदलें

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

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