找出日期SAS之间的最小差异

时间:2013-12-11 04:00:39

标签: date sas

我有这个问题的问题:

编写SAS程序以创建包含最接近的测试日期的数据集         邮寄日期。您的计划必须适用于任何考试日期和交付日期。

这是我到目前为止所做的。数据源位于excel的单独表格中,我将其拉入并合并,并且只有1个交付日期和21个测试日期。我认为找到最近一天的最佳方法是最小差异的绝对值,然后使用proc排序,因为这是我们被允许使用除proc导入和导出之外的唯一proc命令。任何想法/帮助/任何内容将不胜感激。

proc import datafile = "C:\Users\file1.xls"
dbms=xls replace out=labs; sheet = "labs";;
run;

proc import datafile = "C:\Users\file1.xls"
dbms=xls replace out=delivery; sheet = "delivery";
run;

data dl;
merge delivery labs;
dd = delivery_date;
diff = dd - Test_date;
run;

以下是他们在1栏中的数据,不知道如何格式化。

表1:

DELIVERY_DATE 11/16/2011

表2:

Test_date 13-MAR-11 10-APR-11 可能20 - 11 9君11 31-JUL-11 8月17日 - 11 12九月11 10-NOV-11 10月11日11 12日 - 12月11 29-FEB-12 3月13 13 10-APR-10 可能20 - 10 9-10年6月 21-JUL-11 15 - 8 - 11 15九月11 19-OCT-11 21 - 11月11 22日 - 12月11

1 个答案:

答案 0 :(得分:1)

听起来你走在正确的轨道上。鉴于这是家庭作业,我不打算给你一个完整的解决方案,但这里有一些你可能会发现有用的组件:

  • 首先,您应该查看SAS网站,了解有关绝对功能的更多信息(因为这是您想要的路线):
    SAS/IML(R) 9.3 User's Guide: ABS Function

  • 接下来,您可能需要查看PROC SORT的文档。它有助于找到最小差异。

  • 只获得一条记录,您可能会发现OBS数据集选项很有用 (提示:您可能需要创建第二个数据集。)