วิธีการเข้าร่วมภายนอกใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อดำเนินการรวมภายนอกกับชุดข้อมูลสองชุดใน SAS:
proc sql ;
create table final_table as
select coalesce(x.team, y.team) as team, x.team, x.points, y.team, y.assists
from data1 as x full join data2 as y
on x.team = y.team;
quit ;
ตัวอย่างนี้ดำเนินการรวมภายนอกโดยใช้คำสั่ง การรวมแบบเต็ม และส่งคืนแถวทั้งหมดในชุดข้อมูลที่เรียกว่า data1 และ data2
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: การดำเนินการเข้าร่วมภายนอกใน SAS
สมมติว่าเรามีชุดข้อมูลสองชุดต่อไปนี้ใน SAS ซึ่งมีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:
/*create datasets*/
data data1;
input team $points;
datalines ;
At 18
B22
C19
D 14
E14
F 11
G20
H 28
;
run ;
data data2;
input team $assists;
datalines ;
At 4
B9
C14
D 13
L 10
M 8
;
run ;
/*view datasets*/
proc print data =data1;
proc print data =data2;
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการรวมภายนอกและสร้างชุดข้อมูลใหม่ที่มีทุกแถวจากทั้งสองชุดข้อมูล:
/*perform outer join*/
proc sql ;
create table final_table as
select coalesce(x.team, y.team) as team, x.team, x.points, y.team, y.assists
from data1 as x full join data2 as y
on x.team = y.team;
quit ;
/*view results of outer join*/
proc print data =final_table;
ชุดข้อมูลผลลัพธ์จะมีทุกแถวจากชุดข้อมูลแต่ละชุด
โปรดทราบว่าเราต้องใช้ฟังก์ชัน COALESCE เพื่อให้แน่ใจว่าชื่อทีมจากชุดข้อมูลทั้งสองชุดจะถูกส่งกลับในชุดข้อมูลผลลัพธ์
หากเราไม่ได้ใช้ฟังก์ชันนี้ เฉพาะค่าคอลัมน์ทีมจากชุดข้อมูลแรกเท่านั้นที่จะแสดงในชุดข้อมูลผลลัพธ์
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีการเข้าร่วมภายในใน SAS
วิธีเข้าร่วมซ้ายใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS