找回密码
 注册
查看: 10498|回复: 2

sas编程-日期数据输入输出方式

[复制链接]
发表于 2010-4-30 20:39:21 | 显示全部楼层 |阅读模式
sas编程-日期数据输入输出方式
源数据文件的格式决定了读入数据需要使用的输入模式,SAS提供了四种基本的输入模式:
1按列输入模式(column);2格式化输入模式(formatted);3列举输入模式(list);4命名输入模式(named)
按列输入模式虽然可以设定输入长度,但没有设定输入格式。对于日期时间或包含美元符号,逗号,其他字符的数值,这种需要设定输入格式并按格式读入的数据,就需要其他输入模式才能完成。本人列举格式化输入模式如何将时间日期类数值读入并输出SAS

格式化输入模式是类似于按列输入的
1它适用于字段固定格式的源数据文件;2它也可给出字段的开始列数,但不直接给出结束列数,而通过输入格式给出读入长度;3它可以设定输入格式;
在格式化输入中,除了INPUT语句外,其他语句的用法与按列输入是相同的。一般格式: INPUT 指针控制 变量名 输入格式......;
其中指针控制:将输入列指针控制在某个位置,作为读入字段的开始列号,它具有◎n或+n的形式。

列子 本例子一共有5中输出结果,供大家参考。

data days;
input @1 birthday mmddyy8. +1 inday mmddyy8. +1 testday date9.;
cards;
08-04-83 07/14/90 20sep1990
11-14-83 07/26/90 20sep1990
;

proc print;
format birthday inday testday;
run;
###################结果
Obs    birthday    inday    testday

1      8616      11152    11220
2      8718      11164    11220
###########################

proc print;
format birthday testday  inday date9.;
run;

###################结果
Obs    birthday        inday      testday

1    04AUG1983    14JUL1990    20SEP1990
2    14NOV1983    26JUL1990    20SEP1990
###############################

proc print;
format birthday testday  inday yymmdd10.;
run;
######################结果
Obs      birthday        inday      testday

1    1983-08-04    1990-07-14    1990-09-20
2    1983-11-14    1990-07-26    1990-09-20
##############################

proc print;
format birthday testday  inday mmddyy10.;
run;
#####################结果
Obs      birthday        inday      testday

1    08/04/1983    07/14/1990    09/20/1990
2    11/14/1983    07/26/1990    09/20/1990
##############################

proc print;
format birthday yymmdd10. testday date9. inday mmddyy8.;
run;
######################结果
Obs      birthday      inday      testday

1    1983-08-04    07/14/90    20SEP1990
2    1983-11-14    07/26/90    20SEP1990

#################################



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2025-4-3 20:20 , Processed in 0.024123 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表