Sas: karakter değişkenlerinin uzunluğu nasıl değiştirilir?
SAS’ta karakter değişkenlerinin uzunluğunu değiştirmenin en kolay yolu PROC SQL’de ALTER TABLE ve MODIFY deyimlerini kullanmaktır.
Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Bu özel örnek, my_data adlı veri kümesindeki takım adı verilen karakter değişkeninin uzunluğunu 4 uzunluğa sahip olacak şekilde değiştirir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: SAS’ta karakter değişkeni uzunluğunu değiştirme
SAS’ta çeşitli basketbol takımları hakkında bilgi içeren aşağıdaki veri kümesine sahip olduğumuzu varsayalım:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;
/*view dataset*/
proc print data =my_data;
Veri kümesindeki her değişkenin uzunluğunu görüntülemek için PROC CONTENTS’ı kullanabiliriz:
/*view length of each variable in dataset*/
proc contents data =my_data;
Sonucun son tablosu her değişkenin uzunluğunu gösterir:
Bu tablodan şunları görebiliriz:
- Puan değişkeni uzunluğu 8 olan sayısal bir değişkendir.
- Takım değişkeni uzunluğu 8 olan bir karakter değişkenidir.
Diyelim ki takım değişkenini 4 uzunluğa sahip olacak şekilde değiştirmek istiyoruz.
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
/*change length of team variable to 4*/
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Veri kümesindeki her değişkenin uzunluğunu görüntülemek için PROC CONTENTS’ı tekrar kullanarak bunları kullanıma sunabiliriz:
/*view updated length of each variable in dataset*/
proc contents data =my_data;
Sonucun son tablosu her değişkenin uzunluğunu gösterir:
Takım değişkeninin artık 4 uzunluğa sahip olduğunu görebiliriz.
En uzun takım adının uzunluğu 4 olduğu için takım sütunundaki değerlerin hiçbirinin kısaltılmadığını belirtmekte fayda var.
Ancak takım değişkeninin uzunluğunu örneğin 3 olarak değiştirdiyseniz bazı takım adlarının son karakteri kısaltılırdı.
Bu yöntem kullanıldığında kesinti durumunda herhangi bir uyarı mesajı görüntülenmez. Bu nedenle, bu yöntemi kullanmadan önce karakter sütununuzdaki maksimum dize uzunluğunu bildiğinizden emin olun.
Ek kaynaklar
Aşağıdaki eğitimlerde SAS’ta diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
SAS’ta bir dizeden sayılar nasıl çıkarılır
SAS’ta SUBSTR işlevi nasıl kullanılır?
SAS’taki dizelerden özel karakterler nasıl kaldırılır