📅  最后修改于: 2021-01-08 14:27:44             🧑  作者: Mango
SAS可以处理不同类型的数字数据格式。这些格式在变量名的末尾使用,以将特定的数字格式应用于数据。
SAS使用两种类型的数字格式,一种是informat ,另一种是输出格式。其中,informat是有关SAS应该如何读取数据的规范,而输出格式是有关应如何在输出中显示变量的布局规范。
SAS中有许多内部信息和输出格式。或者,可以使用PROC FORMAT创建用户定义的信息格式和输出格式。通过在命令行中键入“ help format ”,然后在出现的窗口中单击“ SAS Format and Informat ”,可以查看所有内部信息和输出格式的列表。
让我们详细了解以下数字格式术语:
SAS信息格式是SAS数字格式的一部分,指定SAS如何读取特定数据。这些在INPUT语句中指定。始终将小数点(。)放在信息的末尾,因为SAS使用此小数点(。)将信息和其他变量分开。
该信息指示SAS如何将数据读入SAS变量。
以下是用于将数据读入SAS的信息的列表。
输入数字信息
Informat | Use |
---|---|
W. | It represents the maximum “W” number of columns with no decimal places. |
W.D | It represents the maximum “W” number of columns with “D” decimal places. |
SAS Numeric Informat由两个组件组成,一个是输出中的列数,另一个是小数位数。
SAS系统基于称为WD的浮点表示法来读取数字信息。在WD中,W是列数,D是小数点右边的位数。
例如,如果WD的值为7.2,则它将为输出分配总共7个空格。小数点的左侧数字将分配四个空格,小数点的左侧将分配一个空格,小数点的右侧数字将分配剩余的两个空格。
在下表中,使用7.2格式演示了数值数据2789.93。它演示了如何使用WD信息在SAS系统中进行数字分配。
2 | 7 | 8 | 9 | . | 9 | 3 |
通过使用以下语法,我们可以在SAS程序中使用WD informat:
Varname FormatnameW.D
哪里,
DATA informat_example;
input x 6.; /*maximum number of columns*/
format x 10.2;/*W.D informat*/
datalines;
475.301
930.2
5.722
33.116
235.1
34.4567
;
run;
PROC PRINT DATA=informat_example;
RUN;
在SAS Studio中执行以上代码:
输出:
从输出中可以看到,SAS遵循WD信息格式来存储数字值。此处WD的值为10.2,这意味着SAS总共读取10个空间。它为小数点左边的数字分配7个空格,为小数点分配1个空格,为小数点右边的数字分配2个空格。
SAS输出格式用于指示SAS在输出中显示所需格式的数据。它是SAS数字格式的另一部分。
我们可以用三种格式显示数值:
它是基本读数,也是SAS的输出格式,其中W是列数,D是小数点右边的位数。
让我们通过一个示例来了解如何使用WD格式显示数据。
例:
DATA informat_example;
input x 6.; /*maximum number of columns*/
format x 10.2;/*W.D informat*/
datalines;
475.301
930.2
5.722
33.116
235.1
34.4567
;
run;
PROC PRINT DATA=informat_example;
RUN;
在SAS Studio中执行以上代码:
输出:
从输出中可以看到,SAS使用WD信息格式存储数值。此处WD的值为10.2,这意味着SAS总共读取10个空间。它为小数点的左侧数字分配7个空格,为小数点分配1个空格,为小数点的右侧数字分配2个空格。
当我们需要在数字数据中添加美元符号时,使用此格式。让我们通过一个示例来了解如何使用DollarW.D格式。
例:
如果数据集中存在一个名为薪水的数字变量,则由于其数字数据类型,该变量中可能存在小数位。因此,让我们考虑提到的没有货币符号的组织的员工工资,例如475.301。现在,员工希望以美元为单位查看此薪水。为此,我们需要在上面放置一个美元符号。
为此,我们需要指示SAS使用DollarW.D格式。
DATA Employee;
input salary 6.; /*maximum width of the data*/
format salary DOLLAR10.2;/*W.D informat*/
datalines;
475.301
930.2
5.722
33.116
235.1
34.4567
;
run;
PROC PRINT DATA=Employee;
RUN;
在SAS Studio中执行以上代码:
输出:
正如我们在输出中看到的那样,薪水已显示有美元符号。
当我们需要添加逗号来分隔数字数据的位数以获得更好的理解时,使用此格式。让我们通过一个示例来了解如何使用CommaW.D格式。
DATA informat_example;
input salary 6.; /*maximum width of the data*/
format salary comma10.2;/*W.D informat*/
datalines;
634475.301
2345930.2
939875.722
54433.116
1221235.1
123334.4567
;
run;
PROC PRINT DATA=informat_example;
RUN;
在SAS Studio中执行以上代码:
输出:
正如我们在输出中看到的那样,可变薪水已显示为逗号。