输入法用于读取原始数据.原始数据可以来自外部源或来自流数据. input语句创建一个变量,其名称分配给每个字段.所以你必须在输入语句中创建一个变量. SAS数据集的输出中将显示相同的变量.以下是SAS中可用的不同输入法.
列表输入法
命名输入法
列输入法
格式化输入法
每个的详细信息输入法描述如下.
列表输入法
在此方法中,变量与数据类型一起列出.仔细分析原始数据,以便声明的变量的顺序与数据匹配.在任何一对相邻列之间,分隔符(通常是空格)应该是均匀的.任何丢失的数据都会导致输出问题,因为结果会出错.
示例
以下代码和输出显示列表的使用输入法.
DATA TEMP;INPUT EMPID ENAME $ DEPT $ ;DATALINES;1 Rick IT2 Dan OPS3 Tusar IT4 Pranab OPS5 Rasmi FIN;PROC PRINT DATA = TEMP;RUN;
在运行bove代码时,我们得到以下输出.
命名输入法
在此方法中,变量与数据类型一起列出.修改原始数据以在匹配数据前面声明变量名称.任何一对相邻列之间的分隔符(通常是空格)应该是一致的.
示例
以下代码和输出显示Named的使用输入法.
DATA TEMP;INPUT EMPID= ENAME= $ DEPT= $ ;DATALINES;EMPID = 1 ENAME = Rick DEPT = ITEMPID = 2 ENAME = Dan DEPT = OPSEMPID = 3 ENAME = Tusar DEPT = ITEMPID = 4 ENAME = Pranab DEPT = OPSEMPID = 5 ENAME = Rasmi DEPT = FIN;PROC PRINT DATA = TEMP;RUN;
在运行bove代码时,我们得到以下输出.
列输入法
在此方法中,列出的变量包含指定列的数据类型和宽度单列数据的值.例如,如果员工姓名包含最多9个字符,并且每个员工姓名从第10列开始,则员工姓名变量的列宽将为10-19.
示例
以下代码显示了使用列输入法.
DATA TEMP;INPUT EMPID 1-3 ENAME $ 4-12 DEPT $ 13-16;DATALINES;14 Rick IT 241Dan OPS 30 Sanvi IT 410Chanchal OPS 52 Piyu FIN ;PROC PRINT DATA = TEMP;RUN;
当我们执行上面的代码时,它产生以下结果 :
格式化输入法
在此方法中,从固定的起始点读取变量,直到遇到空格.由于每个变量都有一个固定的起点,因此任何一对变量之间的列数就成为第一个变量的宽度.字符'@n'用于指定变量的起始列位置作为第n列.
示例
以下代码显示使用格式化输入法
DATA TEMP;INPUT @1 EMPID $ @4 ENAME $ @13 DEPT $ ;DATALINES;14 Rick IT 241 Dan OPS 30 Sanvi IT 410 Chanchal OPS 52 Piyu FIN ;PROC PRINT DATA = TEMP;RUN;
当我们执行上面的代码时,它产生以下结果 :