首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAS在日期和时间上合并

SAS在日期和时间上合并
EN

Stack Overflow用户
提问于 2014-10-09 17:33:36
回答 1查看 743关注 0票数 2

我正在尝试基于日期和时间合并两个数据集。

在这两个集合中,日期都是date9。格式,时间为time5。格式。

我认为像下面这样的简单合并就足够了。

我猜SAS将日期读取为日期时间,将时间读取为秒。

代码语言:javascript
复制
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

代码语言:javascript
复制
time_num   date
9:07       01JUL2014
9:07       01JUL2014

来自表b

代码语言:javascript
复制
date        time_num
01JUL2014   9:07
01JUL2014   9:07
01JUL2014   9:07

会不会与日期/时间的存储方式有关?例如,9:07可能是9:07:34,而这不是与可能是9:07:11的另一个匹配的内容?

EN

回答 1

Stack Overflow用户

发布于 2014-10-10 00:21:33

这里的困难在于,时间不仅被读取为小时和分钟,还被读取为秒-即使这不是以格式显示的。

为了解决这个问题,我简单地使用round函数将sas时间四舍五入到最近的60 (即最近的分钟);

代码语言:javascript
复制
time_round=round(put(time_num, best12.), 60);

然后我合并了time_round (这是午夜后的休闲时间,例如5940)

这样做解决了上面的合并问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26275015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档