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

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

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