点击连接查看哦 —> SAS变量的输入格式 .
两者区别: 指定输入格式会改变变量的值,而指定输出格式不会改变变量的值,只是改变显示的样子。 输出格式用 format 语句定义,一般插在 input 与cards(datalines)语句之间 format 变量1 格式1 变量2 格式2 … …;
三种格式: w.d 、commaw.d 、 precentw.d。
w.d 跟之前定义一样;
commaw.d 将整数值自左向右每三位添加逗号隔开(像英语数字分开)当位数很多,用这种方法比较标准易读;
precentw.d 将数值转为百分数值。 例如:
data wt; input num cost prop; format num 5.2 cost comma20.1 prop percent9.2; /* 要把cost结果的小数点宽度考虑进去,不然当指定宽度小于数值宽度就显示不出来“,” ; percent 的宽度“ % ”要占3个字节 特别注意宽度问题!!! */ cards; 55 102056005 0.1236 44 302450111 0.0564 ; proc print; run;.
正常来说 ,在定义好变量输入格式,输出格式会原样按照输出,一般可以不用设置字符型输出变量。
data ww; input x$ y$2.; /* y 是输入格式定义 2. */ format x$2.; /* x 是输出格式定义 2. */ x1 = x+1; /* x1 本质还是 1100 +1 = 1101 */ y1 = y+1; /* y1 输入格式改变2. y=11,y1=11+1=12 */ cards; 1100 1100 ; proc print; run;小结:
输入格式的定义会改变变量本质,而 输出格式的定义只是改变该变量的输出显示。SAS 会自动把字符型转为数值型参与运算。在日志窗口有显示.
通过这两节明白了变量的输入、输出格式了吧 ? 接下来 就是自己定义输入输出变量咯。期待 👇 !!
点击连接查看哦—> SAS 基础(3) 自定义输入和输出格式