Sas- ပေါင်းစပ်ထုတ်ပြန်ချက်တွင် (in=a) ကိုအသုံးပြုနည်း


SAS တွင် ဒေတာအတွဲနှစ်ခုကို ပေါင်းစည်းသောအခါ၊ သင်သည် သီးခြားဒေတာအတွဲတစ်ခုတွင် တန်ဖိုးတစ်ခုရှိနေသည့် အတန်းများကိုသာ ပြန်ပေးရန်အတွက် IN ထုတ်ပြန်ချက်ကို အသုံးပြုနိုင်သည်။

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

နည်းလမ်း 1- ပထမဒေတာအတွဲ (in=a) တွင် တန်ဖိုးရှိသော အတန်းများကို ပြန်ပေးပါ။

 data final_data;
  merge data1 (in=a) data2;
  byID ;
  if a;
run ;

ဤဥပမာသည် data1 နှင့် data2 ဟုခေါ်သော ဒေတာအတွဲများကို ပေါင်းစည်းပြီး data1 တွင် တန်ဖိုးတစ်ခုရှိနေသည့် အတန်းများကိုသာ ပြန်ပေးသည်။

နည်းလမ်း 2- ဒုတိယဒေတာအတွဲ (in=b) တွင် တန်ဖိုးရှိသော အတန်းများကို ပြန်ပေးပါ။

 data final_data;
  merge data1 data2 (in=b);
  byID ;
  if b;
run ;

ဤဥပမာသည် data1 နှင့် data2 ဟုခေါ်သော ဒေတာအတွဲများကို ပေါင်းစပ်ပြီး data2 တွင် တန်ဖိုးတစ်ခုရှိနေသည့် အတန်းများကိုသာ ပြန်ပေးသည်။

နည်းလမ်း 3- ဒေတာအတွဲများ (in=a) နှင့် (in=b) နှစ်ခုလုံးတွင် တန်ဖိုးရှိသော အတန်းများကို ပြန်ပေးပါ။

 data final_data;
  merge data1(in=a) data2(in=b);
  byID ;
  if a and b;
run ;

ဤဥပမာသည် data1 နှင့် data2 ဟုခေါ်သော ဒေတာအတွဲများကို ပေါင်းစည်းပြီး data1 နှင့် data2 နှစ်ခုစလုံး တွင် တန်ဖိုးတစ်ခုရှိနေသည့် အတန်းများကိုသာ ပြန်ပေးသည်။

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

 /*create first dataset*/
data data1;
    inputIDGender $;
    datalines ;
1 Male
2 Male
3 Female
4 Male
5 Female
;
run ;

title "data1";
proc print data = data1;

/*create second dataset*/
data data2;
    input IDSales;
    datalines ;
1 22
2 15
4 29
6 31
7 20
8 13
;
run ;

title "data2";
proc print data = data2; 

ဥပမာ 1- အတန်းအားလုံးကို ပြန်ပေးပါ။

ID ကော်လံတန်ဖိုးအပေါ်အခြေခံ၍ ဒေတာအတွဲနှစ်ခုကို ပေါင်းစည်းရန်နှင့် ဒေတာအတွဲနှစ်ခုစလုံးမှ အတန်းအားလုံးကို ပြန်ပို့ရန် IN ထုတ်ပြန်ချက်မပါဘဲ အောက်ပါ ပေါင်းစပ် ထုတ်ပြန်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်-

 /*perform merge*/
data final_data;
  merge data1 data2;
  byID ;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

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

ဥပမာ 2- ပထမဒေတာအတွဲ (= a) တွင် တန်ဖိုးရှိသော အတန်းများကို ပြန်ပေးပါ။

ID ကော်လံရှိ တန်ဖိုးအပေါ်အခြေခံ၍ ဒေတာအတွဲနှစ်ခုကို ပေါင်းစည်းရန် (in=a) နှင့် အောက်ဖော်ပြပါ ပေါင်းစပ် ကြေညာချက်ကို အသုံးပြုနိုင်ပြီး ပထမဒေတာအတွဲတွင် တန်ဖိုးရှိသည့် အတန်းများကိုသာ ပြန်ပေးနိုင်ပါသည်။

 /*perform merge*/
data final_data;
  merge data1 (in = a) data2;
  byID ;
  if a;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

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

ဥပမာ 3- ဒုတိယဒေတာအတွဲ (in=b) တွင် တန်ဖိုးရှိသော အတန်းများကို ပြန်ပေးပါ။

ID ကော်လံရှိ တန်ဖိုးအပေါ်အခြေခံ၍ ဒေတာအတွဲနှစ်ခုကို ပေါင်းစည်းရန် (in=b) နှင့် အောက်ဖော်ပြပါ ပေါင်းစပ် ကြေညာချက်ကို အသုံးပြုနိုင်ပြီး ဒုတိယဒေတာအတွဲတွင် တန်ဖိုးရှိသည့် အတန်းများကိုသာ ပြန်ပေးနိုင်ပါသည်။

 /*perform merge*/
data final_data;
  merge data1 data2(in=b);
  byID ;
  if b;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

ဒုတိယဒေတာအတွဲတွင် တန်ဖိုးတစ်ခုရှိနေသည့် အတန်းများကိုသာ ပြန်ပေးကြောင်း သတိပြုပါ။

ဥပမာ 4- ဒေတာအတွဲများ (in = a) နှင့် (in = b) နှစ်ခုလုံးတွင် တန်ဖိုးရှိသော အတန်းများကို ပြန်ပေးပါ။

ID ကော်လံရှိ တန်ဖိုးအပေါ်အခြေခံ၍ ဒေတာအတွဲနှစ်ခုကို ပေါင်းစည်းရန် အောက်ပါ ပေါင်းစပ် ထုတ်ပြန်ချက်ကို (in=a) နှင့် (in=b) တို့ကို အသုံးပြုနိုင်ပြီး ဒေတာအတွဲနှစ်ခုစလုံးတွင် တန်ဖိုးရှိသည့် အတန်းများကိုသာ ပြန်ပေးနိုင်ပါသည်။

 /*perform merge*/
data final_data;
  merge data1(in=a) data2(in=b);
  byID ;
  if a and b;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

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

မှတ်ချက် – SAS ပေါင်းစည်းမှု ထုတ်ပြန်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။

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

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

SAS တွင် ဘယ်ဘက်ပါဝင်နည်း
SAS တွင် အတွင်းစည်းပါဝင်ခြင်းကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
SAS တွင် ပြင်ပပူးပေါင်းပါဝင်မှုကို မည်သို့လုပ်ဆောင်ရမည်နည်း။

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

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