Sas: cara menggunakan (in=a) dalam pernyataan penggabungan


Saat menggabungkan dua kumpulan data di SAS, Anda dapat menggunakan pernyataan IN untuk hanya mengembalikan baris yang memiliki nilai dalam kumpulan data tertentu.

Berikut adalah beberapa cara umum untuk menggunakan pernyataan IN dalam praktiknya:

Metode 1: Kembalikan baris yang nilainya ada di kumpulan data pertama (in=a)

 data final_data;
  merge data1 (in=a) data2;
  byID ;
  if a;
run ;

Contoh khusus ini menggabungkan kumpulan data yang disebut data1 dan data2 dan hanya mengembalikan baris yang ada nilainya di data1 .

Metode 2: Mengembalikan baris yang nilainya ada di kumpulan data kedua (in=b)

 data final_data;
  merge data1 data2 (in=b);
  byID ;
  if b;
run ;

Contoh khusus ini menggabungkan kumpulan data yang disebut data1 dan data2 dan hanya mengembalikan baris yang ada nilainya di data2 .

Metode 3: Mengembalikan baris yang nilainya ada di kedua kumpulan data (in=a) dan (in=b)

 data final_data;
  merge data1(in=a) data2(in=b);
  byID ;
  if a and b;
run ;

Contoh khusus ini menggabungkan kumpulan data yang disebut data1 dan data2 dan hanya mengembalikan baris dengan nilai yang ada di data1 dan data2 .

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan dua himpunan data berikut:

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

Contoh 1: Kembalikan semua baris

Kita dapat menggunakan pernyataan penggabungan berikut tanpa pernyataan IN apa pun untuk menggabungkan dua kumpulan data berdasarkan nilai kolom ID dan mengembalikan semua baris dari kedua kumpulan data:

 /*perform merge*/
data final_data;
  merge data1 data2;
  byID ;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

Perhatikan bahwa semua baris di kedua kumpulan data dikembalikan, meskipun nilainya hilang karena nilai ID tidak ada di kedua kumpulan data.

Contoh 2: Mengembalikan baris yang nilainya ada pada kumpulan data pertama (dalam = a)

Kita dapat menggunakan pernyataan penggabungan berikut dengan (in=a) untuk menggabungkan dua kumpulan data berdasarkan nilai di kolom ID dan hanya mengembalikan baris yang memiliki nilai di kumpulan data pertama:

 /*perform merge*/
data final_data;
  merge data1 (in = a) data2;
  byID ;
  if a;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

Perhatikan bahwa hanya baris yang nilainya ada di kumpulan data pertama yang dikembalikan.

Contoh 3: Mengembalikan baris yang nilainya ada pada kumpulan data kedua (in=b)

Kita dapat menggunakan pernyataan penggabungan berikut dengan (in=b) untuk menggabungkan dua kumpulan data berdasarkan nilai di kolom ID dan hanya mengembalikan baris yang memiliki nilai di kumpulan data kedua:

 /*perform merge*/
data final_data;
  merge data1 data2(in=b);
  byID ;
  if b;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

Perhatikan bahwa hanya baris yang nilainya ada di kumpulan data kedua yang dikembalikan.

Contoh 4: Mengembalikan baris yang nilainya ada di kedua kumpulan data (in = a) dan (in = b)

Kita bisa menggunakan pernyataan penggabungan berikut dengan (in=a) dan (in=b) untuk menggabungkan dua kumpulan data berdasarkan nilai di kolom ID dan hanya mengembalikan baris yang memiliki nilai di kedua kumpulan data:

 /*perform merge*/
data final_data;
  merge data1(in=a) data2(in=b);
  byID ;
  if a and b;
run ;

/*view results*/
title "final_data";
proc print data =final_data;

Perhatikan bahwa hanya baris dengan nilai yang ada di kedua kumpulan data 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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *