在sas数据集中查找与指定日期最近的日期?
根据这些数据,谁能帮助我制作一个包含 最接近交付日期的测试日期 交付日期2011年11月16日 测试日期2011年11月21日2011年11月10日2010年10月5日在sas数据集中查找与指定日期最近的日期?,sas,Sas,根据这些数据,谁能帮助我制作一个包含 最接近交付日期的测试日期 交付日期2011年11月16日 测试日期2011年11月21日2011年11月10日2010年10月5日 提前感谢如果没有更多信息,就无法正确回答,但是如果您有两个数据集,每个日期一行,以及实际的日期变量,那么解决方案如下: create table finaldsn as select a.* , b.* , a.delivery_date-b.test_date as days , abs(calculated
提前感谢如果没有更多信息,就无法正确回答,但是如果您有两个数据集,每个日期一行,以及实际的日期变量,那么解决方案如下:
create table finaldsn as
select a.*
, b.*
, a.delivery_date-b.test_date as days
, abs(calculated days) as absdays
, min(calculated absdays)as close
from dsnA as a
full join
dsnB as b
on a.subject=b.id
where a.delivery_date ne . and b.ltest_datebdt ne .
and b.id in (select distinct subject
from dsnA)
group by a.subject, a.delivery_date
having calculated absdays=calculated close
;
quit;
这是以下文章中的内容:它还提供了一些其他解决方案。您可以使用SAS函数INTCK来计算样本日期和目标日期之间的差异,然后您可以只保留接近0的日期 以下是一个链接,您可以快速了解这些功能:
另外,请随意查看链接左侧的其他功能,因为从长远来看,它们可能会派上用场。您的问题不完整。请编辑它来解释数据结构。不清楚这是两个不同的数据集还是一个数据集,测试日期是多行还是一行三列。这些是日期变量还是字符串?你想如何处理领带?嘿,Joe,数据是两个独立的集合,在hey Joe的delivery_date变量中有一个日期。我真的不知道如何在这里包含数据,但想法是这样的。我有一个excel文件,其中有两张表,一张包含交付日期变量(2011年11月16日)的单个观察值,另一张包含测试日期变量的20个观察值。我的问题是如何进行计算以找到最接近交付日期的测试日期。以及如何将测试日期变量的一个观察值与20相匹配。如果你想查看数据,我很乐意提供。让我知道怎么做。非常感谢。所有这些都是我假设的。请看答案,让我知道它是否有效,如果无效,您需要帮助解决。INTCK用于计算区间差异,而不是简单的差异。SAS日期存储为天数的整数,因此简单的比较就足够了。因特克只会把事情搞得一团糟。