포스팅 목차
o VARFMT
SAS 데이터 세트 변수에 할당된 출력형식(포맷, Format)을 반환한다.
Category: | SAS File I/O |
문 법
VARFMT (data-set-id,var-num) |
Arguments
data-set-id
는 OPEN함수에 의해 반환되는 인식자.
관련 구문 및 함수
함수명 | 함수내용 |
ATTRC | SAS 데이터 세트와 연관된 다양한 문자 속성 값을 반환한다. |
ATTRN |
SAS 데이터 세트와 연관된 다양한 수치형 속성값을 반환한다. |
CLOSE | 앞에서 열었던 SAS 데이터 세트를 닫는다. |
OPEN | SAS 데이터 세트를 OPEN하고, 데이터 세트 ID를 반환한다. |
VARFMT |
SAS 데이터 세트 변수에 할당된 출력형식(포맷, Format)을 반환한다. |
VARINFMT | SAS 데이터 세트 변수에 할당되어있는 입력형식(인포맷, informat)을 반환한다. |
VARLABEL | SAS 데이터 세트 변수에 할당된 라벨(Label)을 반환한다. |
VARLEN | SAS 데이터 세트 변수에 할당된 길이(Length)를 반환한다. |
VARNAME | SAS 데이터 세트 변수의 이름을 반환한다. |
VARNUM | SAS 데이터 세트에서 위치하고 있는 SAS 변수의 위치(Position) 정보 값을 반환한다. |
VARTYPE |
SAS 데이터 세트 변수의 데이터 Type을 반환한다.(C:문자,N:숫자) |
예 제
예 제 1 :
gender변수와 income변수에 할당된 포맷을 알기위해서 varfmt함수를 사용한다.
SAS Statements |
data VARFMT1;
length fmt $ 12;
dsid = open('sasuser.income','i');
if dsid then do;
fmt = varfmt(dsid,varnum(dsid,'gender'));
fmt1 = varfmt(dsid,varnum(dsid,'income'));
c = close(dsid);
end;
run;
Results |
fmt dsid fmt1
$GENDER. 1 DOLLAR11.2
예 제 2 :
sasuser.income 데이터에서 numeric데이터에 대해서 포맷을 fmt변수에 저장하고, var1변수에 숫자데이터를, var2변수에 숫자데이터에 대해 숫자포맷형식으로, content변수에는 숫자변수에 대하여 숫자포맷을 지정한후에 다시 문자포맷을 지정하여 반환한다.
SAS Statements |
data VARFMT2;
length name $ 8 content $ 12;
*drop dsid i num rc fmt;
dsid = open("sasuser.income","i");
put dsid=;
num = attrn(dsid,"nvars");
put num=;
do while (fetch(dsid)=0);
do i=1 to num;
name = varname(dsid,i);
put name=;
* 변수형태가 numeric인경우;
if (vartype(dsid,i)='N') then do;
fmt = varfmt(dsid,i);
if fmt = '' then fmt="BEST12.";
* 숫자 데이터 추출;
var1 = getvarn(dsid,i);
* 지정한 숫자변수에 지정한 포맷(fmt)을 적용하여 문자변수로 반환 ;
var2 = putn(getvarn(dsid,i),fmt);
* 지정한 숫자변수에 지정한 문자포맷을 적용하여 문자변수로 반환 ;
content = putc(putn(getvarn(dsid,i),fmt),"$char12.");
output;
end;
end;
end;
rc=close(dsid);
run;
Results |
name content dsid num i fmt var1 var2
income $54,789.00 1 4 3 DOLLAR11.2 54789 $54,789.00
income $4,565.00 1 4 3 DOLLAR11.2 4565 $4,565.00
income $134,656.00 1 4 3 DOLLAR11.2 134656 $134,656.00
income $5,433.00 1 4 3 DOLLAR11.2 5433 $5,433.00
income $57,654.00 1 4 3 DOLLAR11.2 57654 $57,654.00
income $86,685.00 1 4 3 DOLLAR11.2 86685 $86,685.00
income $23,567.00 1 4 3 DOLLAR11.2 23567 $23,567.00
income $65,778.00 1 4 3 DOLLAR11.2 65778 $65,778.00
income $45,654.00 1 4 3 DOLLAR11.2 45654 $45,654.00
SAS 함수(SAS Function) 리스트 링크 |
엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크 |
SAS 데이터 스텝 구문 리스트(SAS Data Step Statement) |
반응형
'SAS > SAS 함수' 카테고리의 다른 글
【SAS 함수】 425. VARLABEL (0) | 2021.10.14 |
---|---|
【SAS 함수】 424. VARINFMT (0) | 2021.10.14 |
【SAS 함수】 422. VAR (0) | 2021.10.14 |
[SAS 함수] 421. UUIDGEN (0) | 2021.10.14 |
【SAS 함수】 420. USS (0) | 2021.10.14 |
댓글