วิธีการเข้าร่วมภายนอกใน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *