SAS变量的输出格式
指定输入格式会改变变量的值,指定输出格式不会改变变量的值,只是改变显示的样子。
输出格式通过在DATA步中增加FORMAT语句来定义,一般规定FORMAT语句写在INPUT和CARDS之间,基本形式如下:
FORMAT 变量1 格式1 变量2 格式2…;
数值型变量的输出格式
主要有三种:
w.d:含义和输入格式一致
commamw.d:将数值整数部分自右向左每三位用逗号隔开。
percentw.d:将数据显示为百分号的形式,它会自动将变量乘以100并加上%。
例1:
/* 数值型变量的输出格式 */
DATA Day03.DEMO1;
INPUT num1 num2 num3;
FORMAT num1 5.2 num2 comma12.1 num3 percent8.2;
CARDS;
50 10205600 0.1234
45 9780000 0.0361
;
RUN;
PROC PRINT;
RUN;
结果:
例2:
/* 输入输出格式对值的处理 */
DATA Day03.demo2_2;
INPUT x $ y$2.;
FORMAT x $2.;
x1 = x + 1;
y1 = y + 1;
CARDS;
1100 1100
;
RUN;
PROC PRINT;
RUN;
/* x y x1 y1 */
/* 11 11 1101 12 */
/* 第一步:input */
/* x = '1100' y = '11' */
/* 第二步:format */
/* 输出的x = '11' */
/* 第三步计算 */
/* SAS在计算的时候会做一个隐式的转换会把字符串转换成数字 */
/* x1 = x + 1 = 1100 + 1 = 1101 */
/* y1 = y + 1 = 11 + 1 = 12 */
结果: