📜  SAS数值数据格式

📅  最后修改于: 2021-01-08 14:27:44             🧑  作者: Mango

数值数据格式

SAS可以处理不同类型的数字数据格式。这些格式在变量名的末尾使用,以将特定的数字格式应用于数据。

SAS使用两种类型的数字格式,一种是informat ,另一种是输出格式。其中,informat是有关SAS应该如何读取数据的规范,而输出格式是有关应如何在输出中显示变量的布局规范。

SAS中有许多内部信息和输出格式。或者,可以使用PROC FORMAT创建用户定义的信息格式和输出格式。通过在命令行中键入“ help format ”,然后在出现的窗口中单击“ SAS Format and Informat ”,可以查看所有内部信息和输出格式的列表。

让我们详细了解以下数字格式术语:

  • 信息化
  • SAS如何读取数字信息
  • 输出格式

信息化

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如何读取数字信息?

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

哪里,

  • 变量名:这是声明的变量的名称。
  • 格式名称:这是应用于变量的数字格式的名称。
  • W:最大数据列数(包括小数点本身和十进制后的数字)。
  • 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数字格式的另一部分。

我们可以用三种格式显示数值:

  • 简单的WD格式
  • CommaW.D格式
  • DollarW.D格式

简单的WD格式

它是基本读数,也是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格式:

当我们需要在数字数据中添加美元符号时,使用此格式。让我们通过一个示例来了解如何使用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格式

当我们需要添加逗号来分隔数字数据的位数以获得更好的理解时,使用此格式。让我们通过一个示例来了解如何使用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中执行以上代码:

输出:

正如我们在输出中看到的那样,可变薪水已显示为逗号。