Sas: cara menggunakan pernyataan if di proc sql
Meskipun tidak mungkin menggunakan pernyataan IF dalam PROC SQL di SAS, Anda dapat menggunakan operator CASE untuk menentukan nilai yang harus diambil suatu variabel berdasarkan kondisi tertentu.
Contoh berikut menunjukkan cara menggunakan operator CASE dalam praktik dengan kumpulan data berikut di SAS yang berisi informasi tentang berbagai pemain bola basket:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data =my_data;
Contoh 1: Menggunakan operator CASE dengan hanya dua hasil
Kita dapat menggunakan operator CASE di PROC SQL untuk menghasilkan kolom baru di dataset bernama points_flag yang mengambil nilai 0 jika nilai di kolom poin kurang dari 20 atau bernilai 1 sebaliknya:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0 else 1
end as points_flag
from my_data;
quit ;
Perhatikan bahwa kolom points_flag mengambil nilai 0 jika nilai kolom points kurang dari 20 atau nilai 1 sebaliknya.
Contoh 2: Menggunakan operator CASE dengan lebih dari dua hasil
Kita juga bisa menggunakan operator CASE di PROC SQL untuk menghasilkan kolom baru di dataset bernama points_flag yang bernilai 0 jika nilai di kolom poin kurang dari 20, bernilai 1 jika poinnya kurang dari 35, atau nilai 2 sebaliknya:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0
when points < 35 then 1 else 2
end as points_flag
from my_data;
quit ;
Perhatikan bahwa kolom points_flag mengambil nilai 0, 1, atau 2 bergantung pada nilai terkait di kolom poin .
Catatan : Jangan ragu untuk menggunakan pernyataan while sebanyak yang Anda inginkan untuk menghasilkan nilai berbeda sebanyak yang Anda inginkan di kolom baru.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:
SAS: Cara menggunakan operator WHERE di PROC SQL
SAS: Cara menggunakan operator IN di PROC SQL
SAS: Cara menggunakan UPDATE di PROC SQL
SAS: Cara menggunakan CONTAIN dalam PROC SQL