Sas: proc sql'de if deyimi nasıl kullanılır?


SAS’ta PROC SQL’de IF ifadesini kullanmak mümkün olmasa da bir değişkenin belirli koşullara göre alması gereken değerleri tanımlamak için CASE operatörünü kullanabilirsiniz.

Aşağıdaki örnekler, CASE operatörünün SAS’ta çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri kümesiyle pratikte nasıl kullanılacağını gösterir :

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

Örnek 1: CASE operatörünü yalnızca iki sonuçla kullanma

PROC SQL’de CASE operatörünü, veri kümesinde point_flag adı verilen yeni bir sütun oluşturmak için kullanabiliriz; bu sütun, puan sütunundaki değer 20’den küçükse 0 değerini veya aksi halde 1 değerini alır:

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

Points_flag sütununun, puan sütununun değeri 20’den küçükse 0 değerini, aksi halde 1 değerini aldığını unutmayın.

Örnek 2: CASE operatörünü ikiden fazla sonuçla kullanma

PROC SQL’de CASE operatörünü, veri kümesinde point_flag adı verilen yeni bir sütun oluşturmak için de kullanabiliriz; bu sütun, puan sütunundaki değer 20’den küçükse 0 değerini, noktalar 35’ten küçükse 1 değerini alır. veya aksi halde 2 değeri:

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

point_flag sütununun, puan sütunundaki karşılık gelen değere bağlı olarak 0, 1 veya 2 değerini aldığını unutmayın.

Not : Yeni bir sütunda istediğiniz kadar farklı değer üretmek için istediğiniz kadar while ifadesi kullanmaktan çekinmeyin.

Ek kaynaklar

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

SAS: PROC SQL’de WHERE operatörü nasıl kullanılır?
SAS: PROC SQL’de IN operatörü nasıl kullanılır?
SAS: PROC SQL’de UPDATE nasıl kullanılır?
SAS: PROC SQL’de CONTAINS nasıl kullanılır?

Yorum ekle

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