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 တွင် သုညဖြင့် အစားထိုးနည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်