로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > SAS Tech & Tip > SAS 고수
[SAS Format] SAS에서 지원하는 출력 형식 리스트 및 예제(20170613) 2017.06.13
백승민 95 0
http://www.mysas.co.kr/SAS_tiptech/a_all.asp?b_no=7322&gotopage=1&con=subject&keyword=&cmd=content&bd_no=33&gubun=

 

* 출처 : http://blogs.sas.com/content/iml/2017/03/20/sas-formats-fmtinfo.html

 

DATA FORMATINFO;

length N_Type $8. N_Category $4. N_Desc $40. 

       N_DefW $5. N_MinW $5. N_MaxW $5. N_DefD $2. N_MinD $2. N_MaxD $2.

       N_FORAMT $50.

       N_TESTC $10. N_TESTN 8. N_EXAM $50. N_EXAM1 $50.; 

 SET SASHELP.VFORMAT;

     LENGTH N_EXAM $200. N_EXAM1 $200.;

 

     N_Category = fmtinfo(FMTNAME, "Cat");  /* numeric, character, date, ... */

     N_Type = fmtinfo(FMTNAME, "Type");     /* format, informat, or both */

     N_Desc = fmtinfo(FMTNAME, "Desc");     /* short description of the format */

     N_DefW = fmtinfo(FMTNAME, "DefW");     /* default width if you omit w. Example: BEST. */

     N_MinW = fmtinfo(FMTNAME, "MinW");     /* minimum width */

     N_MaxW = fmtinfo(FMTNAME, "MaxW");     /* maximum width */

     N_DefD = fmtinfo(FMTNAME, "DefD");     /* default decimal digits */

     N_MinD = fmtinfo(FMTNAME, "MinD");     /* minimum decimal digits */

     N_MaxD = fmtinfo(FMTNAME, "MaxD");     /* maximum decimal digits */

     N_FORAMT = cats(fmtname,N_maxw,".");

 

     IF      INDEX(FMTNAME,'$') > 0 AND OBJNAME = 'UWFN8601'           THEN DO;

             N_TESTC = '2012915155300FFD';

             N_EXAM = putC(N_TESTC,cats(fmtname,N_maxw,"."));

     END;

     ELSE IF INDEX(FMTNAME,'$') > 0 AND SUBSTR(OBJNAME,1,6) = 'UWFUCS' THEN DO;

             N_TESTC = '白';

             N_EXAM  = putC(N_TESTC,cats(fmtname,N_mINw,"."));

             N_EXAM1 = INputC(N_EXAM,cats(fmtname,N_minw,"."));

     END;

     ELSE IF INDEX(FMTNAME,'$') > 0  THEN DO;

             N_TESTC = 'BACK';

             N_EXAM = putC(N_TESTC,cats(fmtname,N_maxw,"."));

     END;

     * 수치형 데이터 출력형식 예제;

     ELSE IF INDEX(FMTNAME,'$') = 0  THEN DO;

             N_TESTN = 1234;

             N_EXAM  = putN(N_TESTN,cats(fmtname,N_maxw,"."));

     END;

     KEEP OBJNAME FMTNAME N_:;

     WHERE fmttype eq "F";

RUN; 

 
 
 
 
 [ODSBABLE] 사용자 출력 템플릿 생성하기
 [결측항목] ZERO(결측값) 값에 해당하는 항목(범주) 출력하기