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;

يمكننا استخدام عبارة الدمج التالية لدمج مجموعتي البيانات بناءً على القيم المطابقة في عمودي المعرف والمتجر ، ثم إرجاع الصفوف التي توجد بها قيمة في كلا العمودين فقط :

 /*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;

تقوم مجموعة البيانات الناتجة بإرجاع الصفوف التي تتطابق فيها قيم عمود المعرف والمتجر .

ملاحظة : يمكنك العثور على الوثائق الكاملة لبيان دمج SAS هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:

SAS: كيفية إجراء عملية دمج واحد إلى متعدد
SAS: كيفية استخدام (in=a) في بيان الدمج
SAS: كيفية الدمج إذا لم يكن A هو B

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *