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个字符; 

posted on 2019-10-08 19:23  be·freedom  阅读(685)  评论(0编辑  收藏  举报