Sas တွင် loops လုပ်ရန် အပြည့်အစုံလမ်းညွှန်
SAS ရှိ DO loop တစ်ခုကို အကြိမ်အရေအတွက် အတိအကျ လုပ်ဆောင်ရန် အသုံးပြုနိုင်သည်။
SAS တွင် အခြေခံ DO loop သုံးခုရှိသည်။
1. loop ကိုလုပ်ပါ။
data data1;
x = 0;
do i = 1 to 10;
x = i*4;
output ;
end ;
run ;
၎င်းသည် အဘယ်အရာလုပ်ဆောင်သနည်း : ဤ loop သည် i = 1 မှ 10 အထိ ထပ်ကာထပ်ကာ 10 ကိုလုပ်ဆောင်သည်၊ အတန်းတစ်ခုစီ၏တန်ဖိုးသည် i နှင့် 4 နှင့် ညီမျှသည်။
ရပ်သွားသည့်အခါ – ဤကွင်းဆက်သည် အကြိမ် 10 ကြိမ်ပြီးမှသာ ရပ်သွားပါမည်။
2. DURING loop ပြုလုပ်ပါ။
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. loop ပတ်သည်အထိလုပ်ပါ။
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 ထပ်ခါထပ်ခါ ပြီးသွားသောအခါ၊ မည်သည့်အရာသည် ပထမဖြစ်ပါစေ၊
အောက်ပါဥပမာများသည် DO loop တစ်ခုစီကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။
ဥပမာ 1- DO loop
10 အတန်း၏ဒေတာအတွဲကိုဖန်တီးရန် အောက်ပါ DO loop ကို သုံးနိုင်သည်။
/*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;
ရလဒ်သည် i ကော်လံတွင် တန်ဖိုးများ 1 မှ 10 နှင့် ကော်လံ x အပိုင်းအခြား 4 မှ 40 အတွင်း တန်ဖိုးများပါရှိသော အတန်း 10 ပါဝင်သော ဒေတာအတွဲတစ်ခုဖြစ်သည်။
ဒေတာအတွဲမှ အညွှန်းကော်လံကို ချရန် drop i ကို အသုံးပြုနိုင်ကြောင်း သတိပြုပါ။
/*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- DO WHILE loop လုပ်ပါ။
x သည် 20 ထက်နည်းသော်လည်း x သည် 20 ထက်နည်း သော်လည်း အတန်းတစ်ခုစီ၏တန်ဖိုးသည် i နှင့် ညီမျှသည်
/*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 ရောက်သည်နှင့်တစ်ပြိုင်နက် loop သည် အတန်းဖန်တီးခြင်းကို ရပ်သွားကြောင်း သတိပြုပါ။
ဥပမာ 3- လှည့်ပတ်မှုမလုပ်ပါ။
အတန်းတစ်ခုစီ၏တန်ဖိုးသည် i နှင့် 4 နှင့် x ထက် 30 ထက်ပိုကြီးသည် အထိ အတန်းတစ်ခုစီ၏တန်ဖိုးသည် i = 1 မှ 10 ကိန်းရှင် i = 1 မှ 10 အထိ ကိန်းရှင် i ကိုဖန်တီးရန် အောက်ပါ DO UNTIL loop ကို အသုံးပြုနိုင်သည်။
/*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 ကျော်လွန်သည်နှင့်တစ်ပြိုင်နက် loop သည် အတန်းများဖန်တီးခြင်းကို ရပ်သွားကြောင်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် SAS တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
SAS တွင်ဒေတာကိုပုံမှန်ဖြစ်အောင်လုပ်နည်း
SAS တွင် ထပ်တူများကို ဖယ်ရှားနည်း
ပျောက်ဆုံးနေသောတန်ဖိုးများကို SAS တွင် သုညဖြင့် အစားထိုးနည်း