Sas: i̇ki değişkene dayalı veri kümeleri nasıl birleştirilir?


İki değişkenin eşleşmesine dayalı olarak SAS’taki iki veri kümesini birleştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 data final_data;
  merge data1(in=a) data2(in=b);
  by ID Store;
  if a and b;
run ;

Bu özel örnek, ID ve Store adlı değişkenlere dayalı olarak veri1 ve veri2 adı verilen veri kümelerini birleştirir ve yalnızca her iki veri kümesinde de bir değerin bulunduğu satırları döndürür.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: SAS’taki Veri Kümelerini İki Değişkene Göre Birleştirme

SAS’ta bir şirketin satış elemanları hakkında bilgi içeren aşağıdaki veri kümesine sahip olduğumuzu varsayalım:

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

Ve her çalışanın farklı mağazalarda yaptığı satışlarla ilgili bilgileri içeren başka bir veri setimiz olduğunu varsayalım:

 /*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 ve Store sütunlarındaki eşleşen değerlere göre iki veri kümesini birleştirmek ve ardından yalnızca her iki sütunda da değerin bulunduğu satırları döndürmek için aşağıdaki merge ifadesini kullanabiliriz:

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

Ortaya çıkan veri kümesi, ID ve Store sütun değerlerinin eşleştiği satırları döndürür.

Not : SAS birleştirme bildiriminin tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde SAS’ta diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

SAS: Bire çok birleştirme nasıl gerçekleştirilir?
SAS: Birleştirme ifadesinde (in=a) nasıl kullanılır?
SAS: A, B değilse nasıl birleştirilir?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir