将日期列转换为正确的sas日期并创建年/月列,从该日期开始,即11FEB13:22:59:00创建年列
我有一个日期列,类型为数字,格式为日期时间,信息为anydtm40 数据如下所示:将日期列转换为正确的sas日期并创建年/月列,从该日期开始,即11FEB13:22:59:00创建年列,sas,Sas,我有一个日期列,类型为数字,格式为日期时间,信息为anydtm40 数据如下所示: Date 11FEB13:22:59:00 29NOV13:18:03:00 在此日期列之外,我需要创建年和月列 然而,当我尝试: DATA Final; Set Final; Year = Year(Date); Run; 我在年份列中收到空值。尝试使用格式 set Final; format date date9.; Run; DATA Final; Set Final; Year = year(dat
Date
11FEB13:22:59:00
29NOV13:18:03:00
在此日期列之外,我需要创建年和月列
然而,当我尝试:
DATA Final;
Set Final;
Year = Year(Date);
Run;
我在年份列中收到空值。尝试使用格式
set Final;
format date date9.;
Run;
DATA Final;
Set Final;
Year = year(date);
Run;
假定
date
变量包含日期时间值:
year_int = YEAR(DATEPART(date));
SAS日期和日期时间值是具有不同解释的数字。日期值是从历元开始的天数,日期时间是秒数
提取这些值的不同方面有不同的功能:
日期时间示例
YearPart(
)时间段(
)
-当前系统日期时间DateTime()
年份(日期值)
月份(
)天(
)
Base SAS文档在第页中列出了相同的日期和时间函数,但仍然收到空白,我相信格式化日期不会改变实际值,当我使用Year()函数时,我会收到null.data final2;最后定案;格式化日期9。;跑我试过了,它抛出了一个错误:语句无效或使用顺序不正确。