Sas'ta findc işlevi nasıl kullanılır?


Bir dizede tek bir karakterin ilk geçtiği konumu döndürmek için SAS’taki FINDC işlevini kullanabilirsiniz.

Bu işlev aşağıdaki temel sözdizimini kullanır:

FINDC (dize, tankların listesi)

Altın:

  • string : Ayrıştırılacak dize
  • karakter listesi : Kaynakta aranacak karakterlerin listesi

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: SAS’ta FINDC işlevini kullanma

Diyelim ki SAS’ta bir ad sütunu içeren aşağıdaki veri kümesine sahibiz:

 /*create dataset*/
data original_data;
    input name $25.;
    datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;

/*view dataset*/
proc print data = original_data; 

x , y veya z karakterlerinin ilk geçtiği konumu bulmak için FINDC işlevini kullanabiliriz:

 /*find position of first occurrence of either x, y or z in name*/
data new_data;
    set original_data;
    first_xyz = findc (name, 'xyz');
run ;

/*view results*/
proc print data =new_data;

First_xyz adı verilen yeni sütun, ad sütununda x , y veya z karakterlerinin ilk geçtiği konumu görüntüler.

Ad sütununda bu üç karakterden hiçbiri yoksa FINDC işlevi yalnızca 0 değerini döndürür.

Örneğin sonuçtan şunları görebiliriz:

x, y veya z’nin ilk satırda ilk geçtiği konum 4 konumudur. İlk satırda 4. konumdaki karakterin a y olduğunu görebiliriz.

İkinci satır adında x, y veya z’nin ilk geçtiği konum 0’dır çünkü bu üç harften hiçbiri ikinci satır adında mevcut değildir.

Ve benzeri.

BUL ve BUL işlevleri arasındaki fark

SAS’taki FIND işlevi, belirli bir alt dizenin başka bir dizedeki ilk oluşumunun konumunu döndürür.

Aşağıdaki örnek, BUL ve BUL işlevleri arasındaki farkı göstermektedir:

 /*create new dataset*/
data new_data;
    set original_data;
    find_smith = find (name, 'Smith');
    findc_smith = findc (name, 'Smith');
run ;

/*view new dataset*/
proc print data =new_data; 

Find_smith sütunu, “Smith” alt dizesinin ad sütununda ilk geçtiği konumu görüntüler.

Findc_smith sütunu, ad sütununda s , m , i , t veya h harflerinin ilk geçtiği konumu görüntüler.

Örneğin sonuçtan şunları görebiliriz:

‘Smith’ alt dizisi hiçbir zaman ilk adda görünmez, dolayısıyla find_smith 0 değerini döndürür.

i harfi ilk adın 7. konumunda göründüğünden findc_smith 7 değerini döndürür.

Ve benzeri.

Ek kaynaklar

Aşağıdaki eğitimlerde SAS’taki diğer yaygın işlevlerin nasıl kullanılacağı açıklanmaktadır:

SAS’ta BUL işlevi nasıl kullanılır?
SAS’ta SUBSTR işlevi nasıl kullanılır?
SAS’ta COMPRESS işlevi nasıl kullanılır?

Yorum ekle

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