SAS可以处理各种数字数据格式.它使用变量名末尾的这些格式将特定的数字格式应用于数据. SAS使用两种数字格式.一个用于读取数字数据的特定格式,称为 informat ,另一个用于显示特定格式的数字数据,称为输出格式.
语法
数字信息的语法是 :
Varname Formatnamew.d
以下是所用参数的说明及减号;
Varname 是变量的名称.
Formatname 是名称的名称应用于变量的数字格式.
w 是最大数据列数(包括小数点后的数字和小数)允许存储变量.
d 是小数点右边的位数.
读取数字格式
以下是用于将数据读入SAS的格式列表.
输入N. umeric格式
格式 | 使用 |
---|---|
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;872293.2.112215.116PROC PRINT DATA = MYDATA1;RUN;DATA MYDATA2;input x 6.; /*maximum width of the data*/format x 5.2;datalines;872293.2.112215.116PROC PRINT DATA = MYDATA2;RUN;DATA MYDATA3;input x 6.; /*maximum width of the data*/format x DOLLAR10.2;datalines;872293.2.112215.116PROC PRINT DATA = MYDATA3;RUN;
当我们执行上面的代码时,它产生以下结果 :
# MYDATA1.Obs x1 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.# MYDATA2Obs x1 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.# MYDATA3Obs x1 $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.