* 출처 : 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;
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.