Sas: cara menggunakan update di proc sql


Anda dapat menggunakan pernyataan UPDATE di PROC SQL di SAS untuk memperbarui nilai dalam satu atau beberapa kolom dalam kumpulan data.

Berikut adalah cara paling umum untuk menggunakan pernyataan UPDATE dalam praktiknya:

Metode 1: Perbarui nilai pada kolom berdasarkan suatu kondisi

 proc sql ;
    update my_data
    set var1='new_value'
    where var1='old_value';
quit ;

Metode 2: Perbarui nilai di kolom berdasarkan beberapa kondisi

 proc sql ;
    update my_data
    set var1 = 
    case when var1> 25 then 100
    when var1> 20 then 50
    else 0
    end;
quit ;

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan kumpulan data berikut di SAS:

 /*create dataset*/
data my_data;
    input team $position $points;
    datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;

/*view dataset*/
proc print data =my_data; 

Contoh 1: Perbarui nilai pada kolom berdasarkan suatu kondisi

Kita dapat menggunakan pernyataan UPDATE berikut di PROC SQL untuk memperbarui setiap nilai kolom tim menjadi “Atlanta”, di mana nilai yang ada sama dengan “A”:

 /*update values in team column where team is equal to 'A'*/
proc sql ;
    update my_data
    set team='Atlanta'
    where team='A';
quit ;

/*view updated dataset*/
proc print data =my_data; 

Perhatikan bahwa setiap nilai di kolom tim yang sebelumnya sama dengan “A” kini sama dengan “Atlanta”.

Nilai apa pun yang tidak sama dengan “A” di kolom tim dibiarkan tidak berubah.

Contoh 2: Perbarui nilai di kolom berdasarkan beberapa kondisi

Kita dapat menggunakan pernyataan UPDATE berikut di PROC SQL untuk memperbarui setiap nilai di kolom poin berdasarkan beberapa kondisi:

 /*update values in points column based on multiple conditions*/
proc sql ;
    update my_data
    set points = 
    case when points> 25 then 100
    when points> 20 then 50
    else 0
    end;
quit ;

/*view updated dataset*/
proc print data =my_data; 

Kami menggunakan pernyataan UPDATE dengan pernyataan CASE WHEN untuk memperbarui nilai di kolom poin.

Khususnya:

  • Jika nilai yang ada di kolom poin lebih besar dari 25, kami memperbaruinya menjadi 100 .
  • Sebaliknya, jika nilai yang ada di kolom poin lebih besar dari 20, kami akan memperbaruinya menjadi 50 .
  • Jika tidak, kami memperbarui nilai di kolom poin menjadi 0 .

Perhatikan bahwa kami hanya menggunakan tiga kondisi dalam pernyataan CASE WHEN , namun Anda dapat menggunakan kondisi sebanyak yang Anda inginkan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:

SAS: Cara menggunakan operator LIKE di PROC SQL
SAS: Cara menggunakan operator IN di PROC SQL
SAS: Cara menggunakan operator WHERE di PROC SQL

Tambahkan komentar

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