SAS proc格式动态值

时间:2018-12-23 17:38:52

标签: sas

PROC FORMAT;   
  VALUE $Gender 'M'='Male'                    
                'F'='Female';  

在上面,我将处理格式的值传递为'm'='male' 和'f'='female'...同样,我需要从文件中传递值,并且进程格式的值是动态生成的。我怎么做。 就像我需要从文件中传递上述映射m = male,f = female并读取文件并传递该映射以动态进行格式化一样。

1 个答案:

答案 0 :(得分:1)

要执行的任务是完成是否可以将数据放入数据集中的两个步骤的过程 1-将原始数据放入数据集中 2-使用上述数据集获取所需的格式 因此,让我们这样做-

*第1步;

DATA fmt;
 Infile "Textfile.txt" DSD ;
 Retain fmtname '$myfmt';  /*myfmt is what your format name*/;
 Length start $2 label $50;
 Input start label ;
RUN; 

现在,由于上述代码将创建一个包含男性女性信息的数据集,因此使用相同的数据集来创建您的格式。

*第2步:

PROC FORMAT CNTLIN=fmt;
RUN; 

从数据集创建格式的最简单方法是使用PROC FORMAT中的CNTLIN =选项。 格式数据集中的必需变量(FMTNAME,START和LABEL) 用于

的变量

FMTNAME-格式名称 开始-格式的左侧=符号(假定字符)– 必须唯一,除非定义了多标签格式 标签-格式右侧=符号