sas - 我可以标准化/转换日期时间中的数据以具有相同的“分钟”吗?
问题描述
我是一名使用 SAS Data Integration Studio 的 SAS 开发人员。
目前我有一个场景,其中许多 excel 选项卡中的数据具有不同的时间值(分钟)。例如
Tab A will have datetime
2010-Jan-01 01:00:00
2010-Jan-02 01:00:00
2010-Jan-03 01:00:00
Tab B will have datetime below:
2010-Jan-01 01:25:00
2010-Jan-02 01:25:00
2010-Jan-03 01:25:00
请注意,除了 SAME DATETIME(但不是分钟)之外,表 A 和表 B 将具有不同的列。
当我合并这两个表时,我想忽略分钟,或者将其标准化为 01:00:00。
有没有办法这样做?
目前,如果我要合并这两个表,我将有“重复”(我的意思是同一天但由于不同的分钟而不同的记录/结果)。
想象一下,在表 A 中,我有一个名为 Age 表 B 的列,我有一个名为 Net Worth 的列。
当我合并这 2 个表时,我希望该表有 2010-Jan-01 01:00:00 的 1 条单行记录,其中包含年龄和净值。
但是,当日期时间不匹配时,他们将有一个新的记录,其年龄包含值但空白净值或类似。
就如何实现这一目标寻求您的帮助。
解决方案
intnx
您可以在匹配之前使用该函数截断到最近的小时:
data _null_;
mydatetime = datetime();
mydatehour = intnx('dthour',mydatetime, 0, 'b');
put mydatetime= is8601dt. / mydatehour= is8601dt.;
run;
推荐阅读
- javascript - 使用 ngIf 的角度隐藏元素需要更长的时间
- r - r - 如果下面的行包含一个值,则从计数中删除
- keras - 反正有没有用谷歌的 AutoML 训练一个分类模型,混合(语言和表格)数据?
- excel - 在 VBA 中向 Excel 表中添加一行会重新计算
- python - 混淆二进制字符串中的位数(Python)
- javascript - 在不刷新页面的情况下重置图像裁剪器很热?
- powershell - 获取在某个日期之后创建的所有 AD 计算机
- java - Arraylist 输出重复
- anylogic - 如何创建与旧版本兼容的 anylogic 文件的副本?
- loops - Ansible Hosts 在剧本中循环