본문 바로가기
SAS/SAS 함수

【SAS 함수】 303. NVALID

by 기서무나구물 2021. 10. 7.

o NVALID

 


SAS 변수 이름으로 사용가능한지 여부를 체크한다.

Category: 문자함수(문자열처리함수)

 


문 법


NVALID
 (string<,validvarname>)


Arguments

     string

          는 문자상수, 변수 표현을 지정.

 

     validvarname

v7  문자열이 SAS 변수이름으로 유효한지 여부를 결정한다.- 변수가 영문자 또는 underscore로 시작한다.
 - SAS 변수의 모든 문자가 영문자,underscore,숫자로 구성된다.
 - 길이(length)가 32보다 작다.
ANY  문자열 길이가 공백을 포함하여 32보다 작으면 유효하다고 결정한다.
NLITERAL  문자열이 SAS name literal('name'N) 또는 validvarname=v7일때 유효하다고 결정한다.

 

 


관련 함수

 함수명 함수내용
CHAR Function Returns a single character from a specified position in a character string.
CHOOSEC 인수 리스트에서 선택된 문자값을 반환한다.
CHOOSEN 인수 리스트에서 선택된 숫자값을 반환한다.
COALESCEC 문자인수 리스트에서 첫번째 non-missing값을 반환한다.
COMPARE 두 문자 차이가 있는 것중 가장 왼편의 위치를 반환한다.
COMPBL 문자열에서 다중 Blank를 한 개의 Blank로 변경한다.
COMPRESS 문자열에서 사용자가 지정한 문자를 제거한다.
FIRST Function Returns the first character in a character string.
IFC 표현의 사실,거짓,missing인지 여부를 판단하여 해당 문자 형태의 값 반환한다.
IFN 표현이 사실, 거짓, missing인지 여부를 판단하여 해당 수치형 값을 반환한다.
INDEX 문자열에서 해당 문자열 단위로 위치를 검색하여 첫 번째 위치를 반환한다.
INDEXC 문자열에서 해당문자 단위로 위치를 검색하여 첫 번째 위치를 반환한다.
INDEXW 문자열에서 해당단어 단위로 위치 검색하여서 첫 번째 단어 위치를 반환한다. excerpt는 단어 앞뒤의 공백은 제거후 검색한다.
LOWCASE 모든 문자를 소문자로 변환한다.
NLITERAL SAS 변수명으로 유효하지 않는 문자열을 SAS name literal (n-literal)로 변경한다.
MISSING 인수에 missing값 소유여부를 반환한다. missing값이 존재시 1의 값을 반환하고, 존재하지 않으면 0의 값을 반환한다.
NVALID SAS 변수 이름으로 사용가능한지 여부를 체크한다.
PROPCASE 모든 단어를 proper case 로 변경한다.
REPEAT 문자변수, 문자를 n+1번 반복한다.
REVERSE 문자열의 문자값 순서를 반대로 전환한다.
RIGHT 문자열을 오른쪽으로 정렬한다.
SCAN 문자열에서 지정한 n번째 단어를 추출한다.
STRIP 앞뒤 Blank를 제거한 문자열을 반환한다.
SUBPAD 만약 문자열에서 substr을 할 경우 문자열보다 더 큰 length를 주었을때, 공백문자를 삽입하여 반환한다.
TRANSLATE 문자열중에서 지정된 문자를 지정한 문자로 변경한다.
TRANSTRN Replaces or removes all occurrences of a substring in a character string.
TRANWRD 문자열에서 지정된 문자열을 지정한 문자열로 변경한다.
TRIM 문자열에서 문자열 뒤의 공백을(trailing blanks) 제거한다. 만약 문자열이 missing 일 경우에는 한 개의 공백을 반환한다.
TRIMN 문자열에서 문자열 뒤의 공백을(trailing blanks) 제거한다. 만약 문자열이 missing일 경우에는 null값을 반환한다.
UPCASE 모든 문자를 대문자로 변환한다.
VERIFY 주어진 문자열과 대상문자열을 비교하여 존재하지 않는 문자의 첫 번째 위치를 반환한다.

 


예 제

지정한 문자열이 SAS변수 이름으로 유효한지 여부를 결정한다.

SAS Statements
options validvarname=v7 ls=64;

data string;
     input string $char40.;
     v7       = nvalid(string,'v7');
     any      = nvalid(string,'any');
     nliteral = nvalid(string,'nliteral');
     default  = nvalid(string);
datalines;
Tooooooooooooooooooooooooooo

Long
OK
Very_Long_But_Still_OK_for_V7
1st_char_is_a_digit
Embedded blank
!@#$%^&*
"Very Loooong N-Literal with """N
'No closing quotation mark
;

 

Results
string                             v7 any nliteral default
Tooooooooooooooooooooooooooo Long  0  0      0       0
                                   0  0      0       0
OK                                 1  1      1       1
Very_Long_But_Still_OK_for_V7      1  1      1       1
1st_char_is_a_digit                0  1      1       0
Embedded blank                     0  1      1       0
!@#$%^&*                           0  1      1       0
"Very Loooong N-Literal with """N  0  0      1       0
'No closing quotation mark         0  1      0       0

 


SAS 함수(SAS Function) 리스트 링크

 

엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크

 

SAS 데이터 스텝 구문 리스트(SAS Data Step Statement)
반응형

'SAS > SAS 함수' 카테고리의 다른 글

【SAS 함수】 305. ORDINAL  (0) 2021.10.07
【SAS 함수】 304. OPEN  (0) 2021.10.07
【SAS 함수】 302. NPV  (0) 2021.10.07
【SAS 함수】 301. NOTXDIGIT  (0) 2021.10.07
【SAS 함수】 300. NOTUPPER  (0) 2021.10.07