Sas에서 index 함수를 사용하는 방법(예제 포함)
SAS의 INDEX 함수를 사용하여 다른 문자열에서 문자열이 처음 나타나는 위치를 반환할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
INDEX(소스, 추출)
금:
- source : 분석할 채널
- extract : 소스 에서 검색할 문자열
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예: SAS에서 INDEX 함수 사용
SAS에 이름 열이 포함된 다음 데이터 세트가 있다고 가정해 보겠습니다.
/*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;
INDEX 함수를 사용하여 각 줄에서 “Smith”라는 문자열이 처음 나타나는 위치를 찾을 수 있습니다.
/*find position of first occurrence of 'Smith' in name*/
data new_data;
set original_data;
first_smith = index (name, ' Smith ');
run ;
/*view results*/
proc print data = new_data;
first_smith 라는 새 열은 이름 열에서 ‘Smith’ 문자열이 처음 나타나는 위치를 표시합니다.
‘Smith’가 전혀 발견되지 않으면 INDEX 함수는 단순히 0 값을 반환합니다.
INDEX 함수는 대소문자를 구분하므로 대신 “smith”를 검색하면 INDEX 함수는 각 문자열에 대해 0을 반환합니다.
/*find position of first occurrence of 'smith' in name*/
data new_data;
set original_data;
first_smith = index (name, ' smith ');
run ;
/*view results*/
proc print data = new_data;
대소문자를 구분하지 않고 검색하려면 lowcase() 함수를 사용하여 먼저 각 문자열을 소문자로 변환한 후 다음과 같이 “smith”를 검색하면 됩니다.
/*find position of first occurrence of 'smith' in name*/
data new_data;
set original_data;
first_smith = index ( lowcase (name), ' smith ');
run ;
/*view results*/
proc print data = new_data;
먼저 각 문자열을 소문자로 변환하면 INDEX 함수를 사용하여 대소문자를 구분하지 않고 검색을 수행할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 SAS의 다른 일반적인 기능을 사용하는 방법을 설명합니다.
SAS에서 SUBSTR 함수를 사용하는 방법
SAS에서 COMPRESS 함수를 사용하는 방법
SAS에서 FIND 함수를 사용하는 방법
SAS에서 COALESCE 함수를 사용하는 방법