एसएएस: प्रोसी एसक्यूएल में अपडेट का उपयोग कैसे करें
आप डेटासेट में एक या अधिक कॉलम में मानों को अपडेट करने के लिए एसएएस में PROC SQL में अपडेट स्टेटमेंट का उपयोग कर सकते हैं।
व्यवहार में अद्यतन कथन का उपयोग करने के सबसे सामान्य तरीके यहां दिए गए हैं:
विधि 1: किसी शर्त के आधार पर कॉलम में मान अपडेट करें
proc sql ;
update my_data
set var1='new_value'
where var1='old_value';
quit ;
विधि 2: एकाधिक स्थितियों के आधार पर कॉलम में मान अद्यतन करें
proc sql ;
update my_data
set var1 =
case when var1> 25 then 100
when var1> 20 then 50
else 0
end;
quit ;
निम्नलिखित उदाहरण दिखाते हैं कि एसएएस में निम्नलिखित डेटासेट के साथ अभ्यास में प्रत्येक विधि का उपयोग कैसे करें:
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;
/*view dataset*/
proc print data =my_data;
उदाहरण 1: किसी शर्त के आधार पर कॉलम में मान अपडेट करें
हम प्रत्येक टीम कॉलम मान को “अटलांटा” में अपडेट करने के लिए PROC SQL में निम्नलिखित अद्यतन कथन का उपयोग कर सकते हैं, जहां मौजूदा मान “ए” के बराबर हैं:
/*update values in team column where team is equal to 'A'*/
proc sql ;
update my_data
set team='Atlanta'
where team='A';
quit ;
/*view updated dataset*/
proc print data =my_data;
ध्यान दें कि टीम कॉलम में प्रत्येक मान जो पहले “ए” के बराबर था अब “अटलांटा” के बराबर है।
कोई भी मान जो टीम कॉलम में “ए” के बराबर नहीं था, बस अपरिवर्तित छोड़ दिया गया था।
उदाहरण 2: अनेक स्थितियों के आधार पर कॉलम में मान अद्यतन करें
हम कई शर्तों के आधार पर पॉइंट कॉलम में प्रत्येक मान को अपडेट करने के लिए PROC SQL में निम्नलिखित अद्यतन कथन का उपयोग कर सकते हैं:
/*update values in points column based on multiple conditions*/
proc sql ;
update my_data
set points =
case when points> 25 then 100
when points> 20 then 50
else 0
end;
quit ;
/*view updated dataset*/
proc print data =my_data;
हमने पॉइंट कॉलम में मानों को अपडेट करने के लिए CASE WHEN स्टेटमेंट के साथ UPDATE स्टेटमेंट का उपयोग किया।
विशेष रूप से:
- यदि अंक कॉलम में मौजूदा मान 25 से अधिक था, तो हम इसे 100 पर अपडेट करते हैं।
- अन्यथा, यदि अंक कॉलम में मौजूदा मान 20 से अधिक था, तो हम इसे 50 पर अपडेट कर देंगे।
- अन्यथा, हमने अंक कॉलम में मान को 0 अपडेट कर दिया है।
ध्यान दें कि हमने CASE WHEN स्टेटमेंट में केवल तीन शर्तों का उपयोग किया है, लेकिन आप जितनी चाहें उतनी शर्तों का उपयोग कर सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि एसएएस में अन्य सामान्य कार्य कैसे करें:
एसएएस: PROC SQL में LIKE ऑपरेटर का उपयोग कैसे करें
एसएएस: PROC SQL में IN ऑपरेटर का उपयोग कैसे करें
एसएएस: PROC SQL में WHERE ऑपरेटर का उपयोग कैसे करें