libname clinic 'e:\sas';
proc format lib=clinic; *先指定libref;
value jobfmt /*无semicolon*/
1,2,3='nonsen'
4-100='nonsense'
103='manager'
105='text processor'
111='assoc. technical writer'
112='technical writer';
value $response /*无*/
'Y'='Yes'
'N'='No'
'U'='Undecided'
'NOP'='No opinion'
'a'-'f'='long'
'g','h'='moderate';
run;
value 后面的format name:
如果变量值为character,用$开头;
不能大于8个字符长;
不能和现有format name 重名;
不能以数字结束;
不以句点period结束。
变量值指定:
单个字符 5 ‘s’;
范围0-100; 'a'-'f';
list :不能字母数字混合,要不 2,3,4 要么'a','f','r' 用逗号隔开
变量值为数字,other表示missing。变量为character,missing包含在low
format可以写在proc和data,如果写在data,format和data永久的相关联。 usage:format varname fmtname. ;*format name后面的据点period;
libname library 'c:\sas\formats\lib'; proc format library=library fmtlib; *查看format的具体内容; run;
libname library 'c:\sas\formats\lib'; proc format library=library fmtlib; value jobfmt 103='manager' 105='text processor'; run; data perm.empinfo; infile empdata; input @9 FirstName $5. @1 LastName $7. +7 JobTitle 3. @19 Salary comma9.; format salary comma9.2 jobtitle jobfmt.; run;
一个label最多256个字符;