SAS可以处理各种数字数据格式.它使用变量名末尾的这些格式将特定的数字格式应用于数据. SAS使用两种数字格式.一个用于读取数字数据的特定格式,称为 informat ,另一个用于显示特定格式的数字数据,称为输出格式.
数字信息的语法是 :
Varname Formatnamew.d
以下是所用参数的说明及减号;
Varname 是变量的名称.
Formatname 是名称的名称应用于变量的数字格式.
w 是最大数据列数(包括小数点后的数字和小数)允许存储变量.
d 是小数点右边的位数.
以下是用于将数据读入SAS的格式列表.
格式 | 使用 |
---|---|
n. | 没有小数点的最大"n"列数. |
np | "p"列的最大"n"列数小数点. |
COMMAn.p | 带有"p"小数位的最大"n"列数,用于删除任何逗号或美元符号. |
COMMAn.p | 最大"n"列数删除任何逗号或美元符号的"p"小数位. |
与在读取数据时应用格式类似,下面是用于在SAS程序输出中显示数据的格式列表.
格式 | 使用 |
---|---|
n. | 写出没有小数点的最大"n"位数. |
np | 写入最大值" np"带有"p"小数点的列数. |
DOLLARn.p | 用p小数位写出最大"n"列数,以千分位数表示美元符号和逗号. |
请注意 : 去;
如果小数点后的位数小于格式说明符,则零将附加.
如果小数点后的位数大于格式说明符,则为最后一位将四舍五入.
以下示例说明以上情况.
DATA MYDATA1; input x 6.; /*maxiiuum width of the data*/ format x 6.3; datalines; 8722 93.2 .1122 15.116 PROC PRINT DATA = MYDATA1; RUN; DATA MYDATA2; input x 6.; /*maximum width of the data*/ format x 5.2; datalines; 8722 93.2 .1122 15.116 PROC PRINT DATA = MYDATA2; RUN; DATA MYDATA3; input x 6.; /*maximum width of the data*/ format x DOLLAR10.2; datalines; 8722 93.2 .1122 15.116 PROC PRINT DATA = MYDATA3; RUN;
当我们执行上面的代码时,它产生以下结果 :
# MYDATA1. Obs x 1 8722.0 # Display 6 columns with zero appended after decimal. 2 93.200 # Display 6 columns with zero appended after decimal. 3 0.112 # No integers before decimal, so display 3 available digits after decimal. 4 15.116 # Display 6 columns with 3 available digits after decimal. # MYDATA2 Obs x 1 8722 # Display 5 columns. Only 4 are available. 2 93.20 # Display 5 columns with zero appended after decimal. 3 0.11 # Display 5 columns with 2 places after decimal. 4 15.12 # Display 5 columns with 2 places after decimal. # MYDATA3 Obs x 1 $8,722.00 # Display 10 columns with leading $ sign, comma at thousandth place and zeros appended after decimal. 2 $93.20 # Only 2 integers available before decimal and one available after the decimal. 3 $0.11 # No integers available before decimal and two available after the decimal. 4 $15.12 # Only 2 integers available before decimal and two available after the decimal.