【发布时间】:2014-10-12 22:18:57
【问题描述】:
我已从发送给我的一些 Excel 电子表格中将一些数据导入 SAS。当我查看导入表的输出时,日期显示为“01APR2014”并保持时间顺序。当我查看列属性时,类型为“日期”,长度为 8。格式和信息都是 DATE9。
我需要能够将此日期转换为周年和月年,但无论我尝试什么,我总是得到 1960 年 1 月。
使用 proc sql,我使用下面的方法来获取周年,
"(put(datepart(a.fnlz_date),weeku3.))|| "-" ||(put(datepart(a.fnlz_date),year.)) as FNLZD_WK_YR,"
但我得到的只是“W00-1960”。我之前已经多次成功使用上述公式与 SAS 日期时间值。
对于每月,使用 proc sql,我尝试了
"datepart(a.fnlz_date) as DT_FNLZD format=monyy.,"
但返回的唯一值是“JAN60”。
我也尝试使用 SUBSTR,但收到一个错误,说它需要一个字符参数,因此 SAS 必须至少将其视为一个数字。
我的问题;有谁知道从这种格式中获取一周年和/或月年的方法?如果是这样,怎么做?我不反对使用数据步骤,但我也无法让它发挥作用。
提前感谢您提供的任何帮助或见解。
【问题讨论】: