[SAS 프로그래밍] SAS 함수 (1)
안녕하세요^^
이번 시간부터 세 시간에 걸쳐 SAS의 함수(function)를 사용하는 방법에 대해 살펴보겠습니다.
이번 시간에는 SAS 함수에 대한 첫 번째 자료로 문자형 함수에 대해 알아보겠습니다.
▷ SUBSTR(string, start-pos <, length>)
SUBSTR 함수는 start 위치부터 length 만큼의 부분의 문자열을 추출합니다.
길이(length)를 지정하지 않으면 문자열의 끝까지 추출합니다.
X1은 ‘ABCD’ 중 두 번째 위치한 B에서 길이 2만큼의 문자열을 추출하기 때문에, BC의 값을 갖습니다.
X2는 ‘ABCD’ 중 두 번째 위치한 B에서 길이를 지정하지 않았기 때문에 문자열의 끝까지 추출하여, BCD의 값을 갖습니다.
▷ SUBSTR(string, start-pos <, length>) = value;
할당문자에서 = 기호 왼쪽에 나타나는 SUBSTR 함수는 문자열 치환이 가능합니다.
마찬가지로, ‘ABCD’의 값을 갖는 변수 X의 두 번째 위치한 B에서 길이 2만큼의 문자열인 BC를 ‘bc’로 치환하는 코드입니다.
즉, X는 AbcD의 값을 갖게 됩니다.
▷ SCAN(string, n <, delimiter(s)>)
SCAN 함수는 구분자(들)로 구분된 단어 중 n 번째 단어를 추출합니다.
음수 n일 경우 string의 끝부터 왼쪽방향으로 진행합니다.
사전에 length 문장이 없이 할당문장으로 새로운 변수로 받을 경우, 문자 200byte로 정의됩니다.
‘A*BC+D’의 SCAN함수는 *과 +를 구분자로 하기 때문에, A, BC, D의 세 부분으로 구분할 수 있습니다.
따라서, X1은 세 번째 단어인 ‘D’의 값을 갖습니다.
X2는 -1번째 단어를 추출하기 때문에, ‘A*BC+D’의 끝에서 왼쪽 방향으로 첫 번째 단어 ‘D’의 값을 갖습니다.
▷ CHAR(string, position)
CHAR 함수는 string에서 특정 위치에 해당하는 문자를 추출합니다.
'ABCD’ 문자에서 두 번째에 위치한 문자를 추출하면 X는 ‘B’의 값을 갖습니다.
▷ LENGTH(argument)
LENGTH 함수는 뒤쪽 공백을 제외한 문자열의 길이를 나타냅니다.
'ABCD ‘의 문자열에서 LENGTH 함수는 뒤의 공백을 제외하고 4의 길이를 갖습니다.
▷ PROPCASE(argument <,delimiter(s)>)
PROPCASE 함수는 구분자로 구분되는 첫 글자는 대문자, 나머지는 소문자로 변환합니다
'john smith’ 문자열을 구분자로 구분하면 john과 smith로 구분되기 때문에, 각 단어의 첫 글자를 대문자로 변환하면 John Smith의 값을 갖습니다.
▷ UPCASE(string)
UPCASE 함수는 문자열을 대문자로 변환하는 함수입니다.
'aBc’ 문자열의 소문자 a와 c를 대문자로 변환하여 ‘ABC’의 값을 갖습니다.
▷ LOWCASE(string)
LOWCASE 함수는 문자열을 소문자로 변환하는 함수입니다.
‘AbC’ 문자열의 대문자 A와 C를 소문자로 변환하여 ‘abc’의 값을 갖습니다.
이상으로 문자 함수에 대해 알아보았습니다.
다음 시간에는, 이번 시간에 알아본 문자 함수 이외에 추가적으로 몇 가지 문자 함수를 더 알아보도록 하겠습니다.
감사합니다^^
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.