6-1.Infile选项研讨.pptVIP

  • 14
  • 0
  • 约1.55千字
  • 约 8页
  • 2017-04-04 发布于湖北
  • 举报
Slide * Slide * Infile语句选项应用 INFILE语句 INFILE语句用来定义一个外部数据文件,文件中的数据用INPUT语句读取。外部文件可以是已存在的磁盘文件,也可以是从键盘上输入的数据行。 语句格式 INFILE file-specification option-list host-option-list; FILE-SPECIFICATION选项说明: 可指定外部文件和逻辑文件 CARDS|CARDS4|DATALINES|DATALINES4选项指明输入数据为CARDS(CARDS4, DATALINES, DATALINES4)后面的数据流,而非来自外部数据文件。 OPTIONS选项说明(部分): 选项 说明 DELIMITER= ‘分隔符 / DLM= 指定所用的分隔符。缺省情况下为空格。 MISSOVER 阻止INPUT语句从下一个数据行读入数据,未赋值的变量设为缺失。 FLOWOVER 规定当需读入数据的长度超过行尾时,超出部分在下一行继续读入。缺省状态为FLOWOVER。 TRUNCOVER 当使用列输入或格式化读入方式时,某些数据行长度小于其他数据行长度时,使用TRUNCOVER选项,阻止SAS读入下一行数据 DSD 规定若一个数据由引号括起,则SAS认为其包含的逗号是字符数据。设定缺省分隔符为逗号。两个连续分隔符中间数据为缺失。读入时去掉数据的引号 FIRSTOBS=record-number 规定从该记录行开始读入 OBS=record-number | MAX 规定要读入的记录数. 默认:MAX 用LIMITER=选项指定数据分隔符 data a; infile cards delimiter=,; input x y z; cards; 3,6,9 1,3,5 8,8,8 ; 例中,要输入的数据用逗号分隔,创建SAS数据集时用选项DELIMITER=’,’。 x y z 1 3 6 9 2 1 3 5 3 8 8 8 用DSD选项指定连续分隔符中间视为缺失数据 data scores; infile datalines delimiter=,; input test1 test2 test3; datalines; 91,87,95 97,,92 , 1 , 1 ; 例中,分隔符为逗号,但第二个观测值的两个相邻分隔符之间还有缺失值,没有DSD选项时,这两个相邻的分隔符组成一个分隔符,于是,输入数据时会出错。 test1 test2 test3 1 91 87 95 2 97 92 1 加上DSD选项 data scores; infile datalines delimiter=, DSD; input test1 test2 test3; datalines; 91,87,95 97,,92 , 1 , 1 ; Run; test1 test2 test3 1 91 87 95 2 97 . 92 2 . 1 1 Missover、Truncover选项 一个外部文件包含变长数据如下: 1 22 333 4444 55555 默认为:Flowover data nums; infile d:\mytest.txt ; input test1 5.; run; data nums; infile d:\mytest.txt missover; input test1 5.; run; data nums; infile d:\mytest.txt truncover; input test1 5.; run; 上述三种选项输出结果

文档评论(0)

1亿VIP精品文档

相关文档