SAS中的编程技巧:
1.Data步中加上LIST; /*显示每行的数据,以便核对。可省之*/
2.infile fileref PAD; /*PAD选项会在每条记录填补空格,使它们具有同样的长度*/
3.获取系统的日期、时间
利用date()/today()、time()等函数获取系统日期和时间。
例如:dt=date(); te=time();
利用sysdate、systime系统宏变量获取SAS启动时的日期时间。
例如:dd="&sysdate"d; tt="&systime"t;
补充说明:
yrdif(stardate,enddate,'actual') 返回两个日期之间的真实间隔年数
datdif(stardate,enddate,'actual') 返回两个日期之间的真实间隔天数, 与intck函数的效果是一样的
INTCK("day",d1,d2); /* 计算d1、d2日期之间的天数intd */
day() 返回日
month() 返回月
qrt() 返回季
year() 返回年
weekday() 返回星期, 值为一个1~7的数值,其中Sunday是1,而Saturday是7
intck() 返回计算两个日期之间的天数
intnx('interval',d1,d2) 返回d1之后d2个间隔后的日期
例如:
data tmp; /* 建立数据集tmp*/
informat d1 d2 YYMMDD10.;/* 设置变量
1.Data步中加上LIST; /*显示每行的数据,以便核对。可省之*/
2.infile fileref PAD; /*PAD选项会在每条记录填补空格,使它们具有同样的长度*/
3.获取系统的日期、时间
利用date()/today()、time()等函数获取系统日期和时间。
例如:dt=date(); te=time();
利用sysdate、systime系统宏变量获取SAS启动时的日期时间。
例如:dd="&sysdate"d; tt="&systime"t;
补充说明:
yrdif(stardate,enddate,'actual') 返回两个日期之间的真实间隔年数
datdif(stardate,enddate,'actual') 返回两个日期之间的真实间隔天数, 与intck函数的效果是一样的
INTCK("day",d1,d2); /* 计算d1、d2日期之间的天数intd */
day() 返回日
month() 返回月
qrt() 返回季
year() 返回年
weekday() 返回星期, 值为一个1~7的数值,其中Sunday是1,而Saturday是7
intck() 返回计算两个日期之间的天数
intnx('interval',d1,d2) 返回d1之后d2个间隔后的日期
例如:
data tmp; /* 建立数据集tmp*/
informat d1 d2 YYMMDD10.;/* 设置变量