【发布时间】:2013-12-11 04:00:39
【问题描述】:
我有这个硬件问题在问我:
编写一个 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:
交货日期 2011 年 11 月 16 日
表 2:
测试日期 2011 年 3 月 13 日 2011 年 4 月 10 日 2011 年 5 月 20 日 2011 年 6 月 9 日 2011 年 7 月 31 日 2011 年 8 月 17 日 2011 年 9 月 12 日 2011 年 11 月 10 日 2011 年 10 月 11 日 2011 年 12 月 12 日 2012 年 2 月 29 日 2013 年 3 月 13 日 2010 年 4 月 10 日 2010 年 5 月 20 日 2010 年 6 月 9 日 2011 年 7 月 21 日 2011 年 8 月 15 日 2011 年 9 月 15 日 2011 年 10 月 19 日 11 年 11 月 21 日 2011 年 12 月 22 日
【问题讨论】:
-
那么,你的问题是什么?
-
听起来你的老师是个受虐狂,只允许你使用
proc sort/import/export。如果我们能看到您的数据集样本(即您正在使用的 excel 文件的子集),那就太好了。我的猜测是,在每一行中,您都有一个交付日期和至少 21 个测试日期,您想找出哪一个测试日期最接近每一行的交付日期?