Sas: sağ alt dize nasıl çıkarılır
Bir dizenin bir kısmını çıkarmak için SAS’taki SUBSTR işlevini kullanabilirsiniz.
Bu işlev aşağıdaki temel sözdizimini kullanır:
SUBSTR(Kaynak, Konum, N)
Altın:
- Kaynak : Analiz edilecek kanal
- Konum : Okumanın başlangıç konumu
- N : Okunacak karakter sayısı
Position bağımsız değişkeninin değeri dizenin solundaki başlangıç konumunu belirtir.
Bunun yerine dizenin sağında bir başlangıç konumu belirtmek için aşağıdaki sözdizimini kullanabilirsiniz:
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
Bu özel örnek, takım adı verilen dize değişkeninin sağındaki son üç karakteri çıkaran last_third adlı yeni bir değişken oluşturur.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: SAS’ta Sağdan alt dizeyi çıkarın
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 original_data;
input team $points;
datalines ;
Mavericks 104
Thunder 99
Rockets 116
Spurs 98
Pistons 99
Pelicans 105
Warriors 119
Blazers 113
Nuggets 100
Kings 123
;
run ;
/*view dataset*/
proc print data = original_data;
Team değişkeninden son 3 karakteri çıkarmak için aşağıdaki kodu kullanabiliriz:
/*create new dataset*/
data new_data;
set original_data;
last_three = substr (team , length (team) -2,3 );
run ;
/*view new dataset*/
proc print data = new_data;
Last_third adlı sütunun takım sütununun son üç karakterini içerdiğini unutmayın.
Ayrıca stringin sağ tarafından farklı sayıda karakter çıkarmak için SUBSTR fonksiyonunun değerlerini de kolaylıkla değiştirebiliriz.
Örneğin sağdaki son beş karakteri çıkarmak için aşağıdaki sözdizimini kullanabiliriz:
/*create new dataset*/
data new_data;
set original_data;
last_five = substr (team , length (team) -4,5 );
run ;
/*view new dataset*/
proc print data = new_data;
Last_five adlı sütunun takım sütununun son beş karakterini içerdiğini 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: Bir dizedeki karakterler nasıl değiştirilir?
SAS: Bir dizeden virgüller nasıl kaldırılır
SAS: Bir dizeden sayılar nasıl çıkarılır