SAS 基础(2) SAS变量的输出格式——细则

    科技2022-07-13  153

    SAS变量的输出格式

    2.1 数据型变量的输出格式2.2 字符型变量的输出格式2.3日期型变量的输出格式

    前言: 既然上一篇基础(1)是变量的输入格式,那么接下来就应该有输出格式了。

    点击连接查看哦 —> SAS变量的输入格式 .

    两者区别: 指定输入格式会改变变量的值,而指定输出格式不会改变变量的值,只是改变显示的样子。 输出格式用 format 语句定义,一般插在 input 与cards(datalines)语句之间 format 变量1 格式1 变量2 格式2 … …;

    2.1 数据型变量的输出格式

    三种格式: 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;

    .

    2.2 字符型变量的输出格式

    正常来说 ,在定义好变量输入格式,输出格式会原样按照输出,一般可以不用设置字符型输出变量。

    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 会自动把字符型转为数值型参与运算。在日志窗口有显示

    .

    2.3日期型变量的输出格式

    data dat; input d1: yymmdd10. d2: yymmdd10. d3: yymmdd10. d4:yymmdd10. d5: yymmdd10.; /* 定义不变 输出格式 在 yymmdd后面➕字母 d 表示以‘ - ’ 形式显示日期; s 表示以‘ / ’ 形式显示日期; p 表示以‘ . ’ 形式显示日期; b 表示以‘ 空格 ’ 形式显示日期; c 表示以‘ : ’ 形式显示日期; n 表示以‘ 无连接符 ’ 形式显示日期; 字母不可以加在 date7.或date7. 的格式 !! SAS默认使用 ‘ - ’ 连接年月日。 */ format d1 yymmdd10. d2 yymmdds8. d3 yymmddp10. d4 yymmddb8. d5 yymmddc8.; cards; 20.06.16 200616 20200616 200616 200616 ; proc print ; run;

    通过这两节明白了变量的输入、输出格式了吧 ? 接下来 就是自己定义输入输出变量咯。期待 👇 !!

    点击连接查看哦—> SAS 基础(3) 自定义输入和输出格式

    Processed: 0.012, SQL: 8