【发布时间】:2014-12-04 04:23:04
【问题描述】:
我正在尝试根据日期和时间合并两个数据集。
在这两个集合中,日期都是 date9。格式,时间为time5。格式。
我认为像下面这样的简单合并就足够了。
我猜 SAS 正在将日期读取为日期时间和以秒为单位的时间。
data test;
merge JRA_UK_July_spot (in=a)
UK_surveys_30plus (in=b);
by date time_num;
if a and b;
run;
我在合并表中没有记录。
注意:从数据集 WORK.JRA_UK_JULY_SPOT 中读取了 19517 个观测值。 注意:从数据集 WORK.UK_SURVEYS_30PLUS 中读取了 114235 个观察值。 注意:数据集 WORK.TEST 有 0 个观测值和 14 个变量。
我知道有些记录应该匹配。
从表 a
time_num date
9:07 01JUL2014
9:07 01JUL2014
来自表 b
date time_num
01JUL2014 9:07
01JUL2014 9:07
01JUL2014 9:07
这可能与日期/时间的存储方式有关吗?例如,9:07 可能是 9:07:34,而这与另一个可能是 9:07:11 的匹配不匹配?
【问题讨论】:
-
似乎是什么问题?您是否得到了意想不到的结果、错误消息或其他内容?也许有关问题的一些细节(可能带有示例数据和/或任何错误消息)将有助于集中任何响应。
-
嗨,阿米尔。我刚刚根据您的建议编辑了问题。谢谢。
-
要测试您关于秒的理论,请尝试在日志中显示一些时间值,例如
put time_num time.;那么应该会显示存储的任何秒数。 -
或者只使用 best12。格式将显示存储的确切数字,即自 1960 年 1 月 1 日以来的秒数。
-
我将时间四舍五入到 60,这似乎解决了问题。谢谢大家。
标签: date time merge format sas