Sas- proc sql တွင် update ကိုအသုံးပြုနည်း


ဒေတာအတွဲရှိ ကော်လံတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကော်လံများတွင် တန်ဖိုးများကို အပ်ဒိတ်လုပ်ရန် PROC SQL တွင် UPDATE ကြေညာချက်ကို သင်အသုံးပြုနိုင်သည်။

ဤသည်မှာ UPDATE ထုတ်ပြန်ချက်ကို လက်တွေ့တွင် အသုံးပြုရန် အသုံးအများဆုံးနည်းလမ်းများဖြစ်သည်။

နည်းလမ်း 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 ;

အောက်ပါနမူနာများသည် SAS ရှိ အောက်ပါဒေတာအစုံဖြင့် နည်းလမ်းတစ်ခုစီကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသသည်-

 /*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- အခြေအနေတစ်ခုအပေါ် အခြေခံ၍ ကော်လံရှိ တန်ဖိုးများကို အပ်ဒိတ်လုပ်ပါ။

အသင်းကော်လံတန်ဖိုးများကို “ Atlanta” အဖြစ် “ Atlanta” အဖြစ် အပ် ဒိတ်လုပ်ရန် အောက်ပါ UPDATE ကြေညာချက်ကို ကျွန်ုပ်တို့ အသုံးပြုနိုင်ပါသည်-

 /*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; 

ယခင်က “ A” နှင့် ညီမျှသော အဖွဲ့ကော်လံရှိ တန်ဖိုးတစ်ခုစီသည် ယခုအခါ “ Atlanta” နှင့် ညီမျှကြောင်း သတိပြုပါ။

အဖွဲ့ကော်လံရှိ “ A” နှင့် မညီမျှသော မည်သည့်တန်ဖိုးများကိုမဆို မပြောင်းလဲဘဲထားခဲ့သည်။

ဥပမာ 2- အခြေအနေများစွာအပေါ်အခြေခံ၍ ကော်လံရှိတန်ဖိုးများကို အပ်ဒိတ်လုပ်ပါ။

PROC SQL တွင် အောက်ပါ UPDATE ကြေညာချက်ကို အသုံးပြု၍ အခြေအနေများစွာကို အခြေခံ၍ အမှတ်များကော်လံရှိ တန်ဖိုးတစ်ခုစီကို အပ်ဒိတ်လုပ်နိုင်ပါသည်။

 /*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 ထုတ်ပြန်ချက်တွင် အခြေအနေ သုံးခုကိုသာ အသုံးပြုခဲ့သည်ကို သတိပြုပါ၊ သို့သော် သင်သည် အခြေအနေများစွာကို သင်အလိုရှိသလောက် အသုံးပြုနိုင်သည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် SAS တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

SAS- PROC SQL တွင် LIKE အော်ပရေတာအား အသုံးပြုနည်း
SAS- PROC SQL တွင် IN အော်ပရေတာအား အသုံးပြုနည်း
SAS- PROC SQL တွင် WHERE အော်ပရေတာအား မည်သို့အသုံးပြုရမည်နည်း။

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

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