Sas'ta anydigit işlevi nasıl kullanılır?
Belirli bir dizedeki ilk basamağın konumunu döndürmek için SAS’taki ANYDIGIT işlevini kullanabilirsiniz.
Bu işlev aşağıdaki temel sözdizimini kullanır:
HERHANGİ BİR SAYI(ifade, [başlangıç])
Altın:
- ifade : Aranacak dize
- başlangıç (isteğe bağlı) : Aramanın yapılacağı başlangıç konumu.
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: SAS’ta ANYDIGIT işlevini kullanma
SAS’ta bir şirketin çeşitli çalışanları hakkında bilgi içeren aşağıdaki veri kümesine sahip olduğumuzu varsayalım:
/*create dataset*/
data my_data;
input employeeID $sales;
datalines ;
54AAF 23
0009A 38
BC18B 40
09:30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run ;
/*view dataset*/
proc print data =my_data;
ÇalışanKimliği sütunundaki ilk hanenin konumunu bulmak için ANYDIGIT fonksiyonunu kullanabiliriz:
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID);
run ;
/*view new dataset*/
proc print data = new_data;
FirstDigit adı verilen yeni sütun, ÇalışanNo sütunundaki bir rakamın ilk geçtiği konumu görüntüler.
Örneğin:
- 54AAF’ın ilk rakamı 1 konumundadır.
- 0009A’nın ilk rakamı 1 konumundadır.
- BC18B’nin ilk rakamı 3 konumundadır.
Ve benzeri.
Belirli bir çalışan kimliği için rakam yoksa 0 değeri döndürülür.
Aramanın yapılacağı başlangıç konumunu belirlemek için ANYDIGIT işlevindeki başlangıç argümanını da kullanabiliriz.
Örneğin ÇalışanNo sütununda 3. pozisyondan başlayarak ilk rakamın konumunu bulmak için aşağıdaki kodu kullanabiliriz:
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID, 3 );
run ;
/*view new dataset*/
proc print data =new_data;
Rakam arama artık 3 konumunda başladığından, ilk iki konumda yalnızca alfabetik karakter içeren Çalışan Kimliği değerlerinin artık ilkDigit sütununda 0 değerini aldığını unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde SAS’taki diğer yaygın işlevlerin nasıl kullanılacağı açıklanmaktadır:
SAS’taki dizelerden özel karakterler nasıl kaldırılır
SAS’ta bir dizedeki karakterler nasıl değiştirilir?
SAS’ta bir karakter değişkeni sayısala nasıl dönüştürülür?