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


Veri kümesindeki bir veya daha fazla sütundaki değerleri güncellemek için SAS’ta PROC SQL’de UPDATE ifadesini kullanabilirsiniz.

UPDATE ifadesini pratikte kullanmanın en yaygın yolları şunlardır:

Yöntem 1: Sütundaki değerleri bir koşula göre güncelleyin

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

Yöntem 2: Sütundaki değerleri birden çok koşula göre güncelleyin

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

Aşağıdaki örnekler, SAS’ta aşağıdaki veri kümesiyle her yöntemin pratikte nasıl kullanılacağını gösterir:

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

Örnek 1: Sütundaki değerleri bir koşula göre güncelleme

Takım sütunu değerlerinin her birini mevcut değerlerin “A”ya eşit olduğu “Atlanta” olacak şekilde güncellemek için PROC SQL’de aşağıdaki UPDATE ifadesini kullanabiliriz:

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

Takım sütununda önceden “A”ya eşit olan her değerin artık “Atlanta”ya eşit olduğunu unutmayın.

Takım sütununda “A”ya eşit olmayan değerler değiştirilmeden bırakıldı.

Örnek 2: Sütundaki değerleri birden fazla koşula göre güncelleme

Puan sütunundaki değerlerin her birini çeşitli koşullara göre güncellemek için PROC SQL’de aşağıdaki UPDATE ifadesini kullanabiliriz:

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

Puan sütunundaki değerleri güncellemek için UPDATE deyimini CASE WHEN deyimiyle birlikte kullandık.

Özellikle:

  • Puan sütunundaki mevcut değer 25’ten büyükse bunu 100 olarak güncelleriz.
  • Aksi takdirde puan sütunundaki mevcut değer 20’den büyükse bunu 50 olarak güncellerdik.
  • Aksi takdirde puan sütunundaki değeri 0 olacak şekilde güncelledik.

CASE WHEN ifadesinde yalnızca üç koşul kullandığımızı, ancak istediğiniz kadar koşul kullanabileceğinizi unutmayın.

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 LIKE operatörü nasıl kullanılır?
SAS: PROC SQL’de IN operatörü nasıl kullanılır?
SAS: PROC SQL’de WHERE operatörü nasıl kullanılır?

Yorum ekle

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