Sas: bagaimana cara menggabungkan jika a bukan b
Anda dapat menggunakan sintaks dasar berikut untuk menggabungkan dua himpunan data di SAS dan hanya mengembalikan baris yang nilainya ada di himpunan data pertama dan bukan yang kedua:
data final_data;
merge data1(in=a) data2(in=b);
byID ;
if a and not b;
run ;
Contoh khusus ini menggabungkan kumpulan data yang disebut data1 dan data2 dan hanya mengembalikan baris yang ada nilainya di data1 dan bukan data2 .
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Menggabungkan dua dataset di SAS menggunakan If A Not B
Misalkan kita memiliki dua kumpulan data berikut di SAS yang berisi informasi tentang tenaga penjualan suatu perusahaan:
/*create first dataset*/
data data1;
inputIDGender $;
datalines ;
1 Male
2 Male
3 Female
4 Male
5 Female
;
run ;
title "data1";
proc print data = data1;
/*create second dataset*/
data data2;
input IDSales;
datalines ;
1 22
2 15
4 29
6 31
7 20
8 13
;
run ;
title "data2";
proc print data = data2;
Jika kita menggunakan pernyataan penggabungan berikut untuk menggabungkan dua kumpulan data berdasarkan nilai kolom ID , semua baris akan dikembalikan dari kedua kumpulan data:
/*perform merge*/
data final_data;
merge data1 data2;
byID ;
run ;
/*view results*/
title "final_data";
proc print data =final_data;
Namun, kita dapat menggunakan pernyataan IN untuk hanya mengembalikan baris yang ada nilainya pada kumpulan data pertama dan bukan pada kumpulan data kedua:
data final_data;
merge data1(in=a) data2(in=b);
byID ;
if a and not b;
run ;
/*view results*/
title "final_data";
proc print data =final_data;
Perhatikan bahwa hanya baris yang nilainya ada di kumpulan data pertama dan bukan di kumpulan data kedua yang dikembalikan.
Catatan : Anda dapat menemukan dokumentasi lengkap untuk pernyataan penggabungan SAS di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:
Bagaimana cara melakukan gabung kiri di SAS
Cara melakukan inner join di SAS
Cara melakukan penggabungan eksternal di SAS