본문 바로가기
SAS/SAS 구문사전

【SAS Statement】 PUT 구문, Formatted (출력형식 지정 출력방식)

by 기서무나구물 2022. 2. 4.

포스팅 목차

    o PUT 구문, Formatted (출력 형식 지정 출력방식)

     


    1. 목 적

      PUT 구문, Formatted (출력형식 지정 출력방식)은 출력 라인에 지정된 출력 형식(format)으로 변수의 값을 작성한다. 출력형식을 지정하는 출력 방식은 값을 작성하기 위하여 사용하는 변수 이름과 출력 형식을 함께 지정하여 출력 방식을 지정한다. 변수의 값을 출력하는 방식을 지정하기 위하여 SAS 출력 형식(format) 또는 사용자 정의 출력 형식(format)을 사용할 수 있는데, 출력 형식을 지정하는 출력 방식을 사용하기 위하여 PUT 구문에서 출력되는 변수 이름 뒤에 출력 형식(format)을 지정한다. 변수의 값들 사이에 공백이 자동으로 추가되지 않는다.

     

    2. 문 법


    PUT
     <pointer-control> variable format. <@ | @@>;

    PUT <pointer-control> (variable-list) (format-list) < @ | @@>;

     

    1) pointer-control

       지정된 라인 또는 열로 출력 포인터를 이동한다.

    참고 : PUT 구문의 포인터 조절자, 포인터 조절자
    주요기능 : 예제1 : 출력형식이 지정된 사이에 문자 작성하기

     

    2) variable

       작성하기 위한 값을 소유하고 있는 변수를 지정한다.

    3) (variable-list)

       작성하기 위한 값을 소유하고 있는 변수 리스트를 지정한다. 출력형식 리스트(format-list)는 변수 리스트(variable-list) 바로 뒤에 작성해야 한다.

    필요사항 : 출력형식 리스트(format-list) 변수 리스트(variable-list) 바로 뒤에 작성해야 한다.
    참고 : 변수와 출력형식(format) 그룹화 지정하는 방법
    주요기능 : 예제1 : 출력형식이 지정된 사이에 문자 작성하기

     

    4) format.

       변수 값이 작성될 때 사용하기 위한 출력형식을 지정한다. 기본 정렬 대신에 출력 형식에서 사용자가 정렬 지정자를 지정할 수 있다.

    • -L : 좌측으로 정렬, -C : 가운데 정렬, -R : 우측 정렬
    Tip : 출력하는 값과 함께 콤마, $, 소수점 또는 다른 특수 문자를 작성하기 위하여 출력형식(format) 길이를 충분하게 지정해야 한다.
    예제 : 다음 PUT 구문은 X 변수의 값을 작성하기 위하여 출력형식 dollar7.2 사용한다.

    put x dollar7.2;

    X 변수의 값이 100이면 출력 형식이 지정된 값은 7 열을 사용한다.

    $100.00
    주요기능 : 예제2 : 출력형식이 지정된 값에 대하여 기본 정렬 변경하기

     


    5) (format-list)

       바로 앞에 지정된 변수 리스트의 값이 작성될 때 사용되는 출력형식출력 형식 리스트를 지정한다. PUT 구문에서 출력 형식 리스트는 출력 형식을 포함할 수 있다.

     

       (1) format.

         변수 값을 출력할 때 사용하는 출력형식(format)을 지정하라. SAS 출력 형식 또는 사용자 정의 출력 형식을 사용할 수 있다.

    Tip : SAS 출력형식 또는 사용자 정의 출력 형식을 사용 있다.

     

       (2) pointer-control

         출력되는 값의 위치를 지정하기 위하여 다음 포인터 조절자 중의 하나를 사용할 수 있다. : @, #, /, +, OVERPRINT.

    예제 : 예제1 : 출력형식이 지정된 사이에 문자 작성하기

     

       (3) character-string

         출력 형식이 지정된 값들 사이에 하나 이상의 문자를 지정한다.

    예제 : 다음 문장은 출력형식이 지정된 CODE1, CODE2, CODE3 사이에 하이픈(-) 삽입한다.

    put bldg $ (code1 code2 code3) (3. '-');
    참고 : 예제1 : 출력형식이 지정된 사이에 문자 작성하기

     

       (4) n*

         출력형식 리스트에서 바로 다음에 작성되는 출력 형식을 n번 반복하도록 지정한다. 출력 형식 리스트(format-list)는 변수 리스트(variable-list) 바로 뒤에 작성해야 한다.

    예제 : 다음 문장은 GRADES1, GRADES2, GRADES3 작성하기 위하여 출력형식 7.2 사용하고, GRADE4, GRADES5 작성하기 위하여 출력형식 5.2 사용한다.

    put (grades1-grades5) (3*7.2, 2*5.2);
    제한사항 : 출력형식 리스트(format-list) 변수리스트(variable-list) 바로 뒤에 작성해야 한다.
    관련사항 : 변수와 출력형식(format) 그룹화 지정하는 방법

     


    6) @| @@

       데이터 스텝의 반복수행과정 중에서 다음 반복 과정의 PUT 구문에서 실행하기 위하여 현재 위치에서 출력 라인을 유지한다. 행고정(Line-hold) 지정자는 후행 @ 와 이중 후행 @로 불린다.

    제한사항 : 후행 @ 또는 이중 후행 @ PUT 구문에서 마지막 항목으로 작성해야 한다.

     

    3. 범 주

    SAS 기본 구문 (파일 처리 구문)

     

    4. 상세 설명

    출력형식을 지정하는 출력 방식 사용하기

    출력형식을 지정하는 출력 방식은 값을 작성하기 위하여 사용하는 변수 이름과 출력형식을 함께 지정하여 출력 방식을 지정한다. 변수의 값을 출력하는 방식을 지정하기 위하여 SAS 출력형식(format) 또는 사용자 정의 출력형식(format) 사용 있다. SAS format 대한 자세한 설명은 SAS Formats and Informats: Reference. “Definition of Formats” 참조.

     

    출력 형식을 지정하는 출력 방식을 사용하기 위하여 PUT 구문에서 출력되는 변수 이름 뒤에 출력형식(format) 지정한다. 변수의 값들 사이에 공백이 자동으로 추가되지 않는다. 변수의 값이 출력을 위하여 지정된 열의 길이 보다 작은 열을 출력에 사용하면, 출력 형식의 길이로 지정된 필드에서 문자값은 좌측 정렬을 하고 숫자 값은 우측 정렬을 한다.

     

    출력형식을 지정하는 출력 방식과 포인터 조절자를 함께 사용하여서 정확한 라인과 위치를 지정하여 개별 변수를 출력 있다. 예를 들어, 다음 PUT 구문은 12번째 열에서 X 변수의 값을 출력형식 dollar7.2 중앙 정렬을 지정하여 출력한다.

     

    put @12 x dollar7.2-c;

     

    변수와 출력형식(format) 그룹화 지정하는 방법

    출력 라인에 일정한 패턴을 가진 값을 작성하기 원하는 경우에 코딩 시간을 줄이기 위하여 출력형식 리스트를 사용하라. 출력형식 리스트는 해당 출력형식을 공백 또는 콤마로 구분하여서 괄호 안에 작성한다. 출력형식 리스트는 괄호 안에 위치한 변수 리스트 뒤에 작성해야 한다.

     

    예를 들어, 다음 문장은 5 변수(SCORE1~SCORE5) 중간에 공백없이 개별 값을 차례대로 작성하기 위하여 출력형식 리스트를 사용한다.

     

    put (score1-score5) (4. 4. 4. 4. 4.);

     

    앞의 문장을 다음과 같이 단축하여 작성 있다.

     

    put (score1-score5) (4.);

     

    출력형식 리스트에 n* 문자열 뿐만 아니라 다양한 포인터 조절자(@, #, /, +, and OVERPRINT) 사용 있다. PUT 구문에서 필요에 따라 다수의 출력형식 리스트를 사용 있지만, 출력형식 리스트를 내부에 포함 수는 없다. 변수 리스트에 있는 모든 값이 작성된 후에, PUT 구문은 출력형식 리스트의 나머지 출력형식 지시자를 사용하지 않는다. “예제3 : 사용하기 위한 보다 많은 출력형식 지정자를 포함하고 있는 경우참조.

     

    배열 (array-name {*}) 뒤에 출력형식 리스트를 지정하여 모든 배열 요소에 대하여 출력형식을 적용 있다. 그러나 임시(_TEMPORARY_) 배열은 사용 없다. 다음 PUT 구문은 배열 이름과 출력형식 리스트를 지정한다.

    put (array1{*}) (4.);

     

    PUT 구문에서 배열참조.

     


    5. 관련 구문

    구문명 구문함수
    FILE 구문 PUT 구문에서 사용되는 출력 대상 파일의 이름을 지정한다. 
    PUT 구문 가장 최근 FILE 구문에서 지정한 SAS 로그, SAS 출력 윈도우, 또는 외부 파일 등에 출력 라인을 작성한다.
    PUT 구문, 열 출력 방식 출력 라인의 지정된 열에 변숫값을 작성한다.
    PUT 구문, 출력형식 지정 출력방식 출력 라인에 지정된 출력 형식(format)으로 변수의 값을 작성한다
    PUT 구문, 목록 출력 방식 지정된 출력 라인에 변수의 값과 지정한 문자열을 작성한다.
    PUT 구문, 변수이름 지정 출력 방식 "변수명 = " 바로 뒤에 변수 값을 작성한다.
    PUTLOG SAS 로그에 지정한 메시지를 출력한다.

     


    6. 예 제

     

    예제1 : 출력형식이 지정된 값 사이에 문자 작성하기

    다음 예제는 변수에 출력형식을 지정하고, BLDG ROOM 변수의 사이에 HYPHEN(-) 작성한다.

     

    SAS Statements
    data _null_;
       input name & $15. bldg $ room;
       put name @20 (bldg room) ($1. "-" 3.);
       datalines;
    Bill Perkins  J 126
    Sydney Riley  C 219
    ;

     

    다음 라인은 SAS로그에 작성된다.

     

    [LOG 출력결과]

    Results
    Bill Perkins       J-126
    Sydney Riley       C-219

     


    예제2 : 출력형식이 지정된 값에 대하여 기본 정렬 변경하기

    다음 예제는 출력 형식에서 정렬 지정자를 함께 지정한다.

     

    SAS Statements
    data _null_;
       input name $ 1-12 score1 score2 score3;
       put name $12.-r +3 score1 3. score2 3.
           score3 4.;
       datalines;
    Joseph                  11   32   76
    Mitchel                 13   29   82
    Sue Ellen               14   27   74
    ;

     

    다음 라인은 SAS로그에 작성된다.

    Results
    ----+----1----+----2----+----3----+----4
          Joseph    11 32  76
         Mitchel    13 29  82
       Sue Ellen    14 27  74

     

    문자형 변수 NAME값은 출력 형식이 지정된 필드에서 우측 정렬을 한다. (문자형 변수에 대한 기본 정렬은 좌측 정렬이다.)

     


    예제3 : 사용하기 위한 것 보다 더 많은 출력형식 지정자를 포함하고 있는 경우.

    다음 출력 형식 리스트는 PUT 구문이 실행 필요한 보다 많은 출력형식 지정자를 포함하고 있다.

     

    SAS Statements
    data _null_;
       input x y z;
       put (x y z) (2.,+1);
       datalines;
    2 24 36
    0 20 30
    ;

     

    PUT 구문은 2. 출력형식을 사용하여 X 변수의 값을 작성한다. +1 포인터는 포인터를 오른쪽으로 1 열을 이동시킨다. 다음, Y 변수의 값을 2. 출력형식으로 작성한다. 다시 +1 열포인터는 포인터를 오른쪽으로 1 열을 이동시킨다. 다시 Z 변수의 값을 2. 출력형식으로 작성한다. 3번째 반복에서 PUT 구문은 +1 열포인터를 사용하지 않는다.

     

    다음 라인이 SAS로그에 작성된다.

    Results
    ----+----1----+
    2 24 36
    0 20 30

     


     


    [SAS Statement] SAS 데이터 스텝 구문 사전 목록]

     

    SAS 함수(SAS Function) 리스트 링크
    반응형

    댓글