Sas: วิธีผสานชุดข้อมูลตามตัวแปรสองตัว
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อรวมชุดข้อมูลสองชุดใน SAS ตามการจับคู่ของตัวแปรสองตัว:
data final_data;
merge data1(in=a) data2(in=b);
by ID Store;
if a and b;
run ;
ตัวอย่างนี้จะผสานชุดข้อมูลที่เรียกว่า data1 และ data2 ตามตัวแปรที่เรียกว่า ID และ Store และส่งคืนเฉพาะแถวที่มีค่าอยู่ในชุดข้อมูลทั้งสองชุด
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: ผสานชุดข้อมูลใน SAS โดยยึดตามตัวแปรสองตัว
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งมีข้อมูลเกี่ยวกับพนักงานขายของบริษัท:
/*create first dataset*/
data data1;
inputStoreID $;
datalines ;
1A
1B
1 C
2A
2C
3A
3 B
;
run ;
/*view first dataset*/
title "data1";
proc print data = data1;

และสมมติว่าเรามีชุดข้อมูลอื่นที่มีข้อมูลเกี่ยวกับยอดขายในร้านค้าต่างๆ โดยผู้ร่วมงานแต่ละราย:
/*create second dataset*/
data data2;
input Store ID $Sales;
datalines ;
1 to 22
1 B 25
2 to 40
2 B 24
2 C 29
3 to 12
3 B 15
;
run ;
/*view second dataset*/
title "data2";
proc print data = data2;

เราสามารถใช้คำสั่ง ผสาน ต่อไปนี้เพื่อรวมชุดข้อมูลทั้งสองชุดโดยยึดตามค่าที่ตรงกันในคอลัมน์ ID และ Store จากนั้นส่งคืนเฉพาะแถวที่มีค่าอยู่ในทั้งสองคอลัมน์:
/*perform merge*/
data final_data;
merge data1(in=a) data2(in=b);
by ID Store;
if a and b;
run ;
/*view results*/
title "final_data";
proc print data =final_data;

ชุดข้อมูลผลลัพธ์จะส่งคืนแถวที่ค่าคอลัมน์ ID และ Store ตรงกัน
หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับคำสั่ง การรวม SAS ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
SAS: วิธีดำเนินการผสานแบบหนึ่งต่อกลุ่ม
SAS: วิธีใช้ (in=a) ในคำสั่งผสาน
SAS: จะผสานได้อย่างไรถ้า A ไม่ใช่ B