[SAS 프로그래밍] 일정하지 않게 입력된 데이터 다루기 2
안녕하세요 ^^
지난번에 이어서 일정하지 않게 입력된 데이터를 다루는 방법에 대해 알아보겠습니다.
1. 뒤에서부터 데이터 읽기 – REVERSE(KREVERSE) 활용
2. 문자열이 포함된 값 추출하기 - INDEX, CONTAINS
이번 시간에는 일정한 규칙 없이 입력되어 있는 데이터에서 원하는 문자열이 포함된 값을 선택하는 방법에 대해 INDEX함수와 CONTAINS을 활용하여 알아보도록 하겠습니다.
►INDEX
INDEX함수는 아래와 같이 정의됩니다.
INDEX(source, excerpt) |
INDEX를 사용하면 찾고자 하는 문자열이 변수 값의 몇 번째 위치에 있는지를 나타내 줍니다. SUBSTR함수가 원하는 문자열이 몇 번째에 위치해 있는지 알아야 사용할 수 있는 반면에, INDEX함수를 활용하면 원하는 문자열이 몇 번째 위치에 있든지 추출할 수 있습니다.
다음의 예제를 통해 알아보겠습니다.
예제 데이터를 생성하였습니다.
name이라는 변수에서 ‘현대’라는 문자열이 몇 번째 위치에 있는지 LOC 변수에 나타납니다.
첫 번째 변수값인 압구정현대백화점의 경우 7번째 위치에 ‘현대’가 존재하는 것을 알 수 있습니다.
위와 같이 활용하여 name변수의 값들 중 어느 위치에라도 ‘자동차’가 포함되어 있으면 DEP변수에 ‘CAR’라고 입력하도록 하였습니다.
►CONTAINS
CONTAINS은 아래와 같이 사용할 수 있습니다.
source CONTAINS excerpt |
위의 예제를 사용하여 살펴보겠습니다.
변수 name에서 ‘백화점’이 들어있는 관측치들을 모두 추출하였습니다.
CONTAINS 와 같은 기능을 할 수 있는 연산자로 "?" 를 사용할 수 있습니다.
변수 name에서 ‘자동차’가 들어있는 관측치들을 모두 추출하였습니다.
이상으로 일정한 규칙 없이 입력되어 있는 데이터에서 원하는 문자열이 포함된 값을 선택하는 방법에 대해 INDEX함수와 CONTAINS을 활용하여 알아보았습니다.
감사합니다.
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.