0

我有一些日期的 sas 数据集。我需要生成从 01FEB2008 到 31AUG2009 的所有日期。我该怎么做?然后我需要从另一列日期中找到所有缺失的日期。请帮忙

4

2 回答 2

4

稍微更简洁的 Honh Ooi 代码版本......

数据全部日期;
  做 dt = '01feb2008'd 到 '31aug2009'd ;
    输出 ;
  结尾 ;
  格式 dt date9. ;
跑 ;

过程 sql ;
  创建表 dtmiss 为
  从所有日期中选择 *
  其中 dt 不在(从 mydata 中选择 dt);
退出 ;

于 2013-06-21T07:42:48.057 回答
0

未经测试:

data dates (keep=dte);
  start = '01feb2008'd;
  end = '31aug2009'd;
  len = end - start;
  format dte date9.;
  do i = 0 to len;
    dte = start + i;
    output;
  end;
run;

要查找缺失的日期:

data test;
  merge dates (in=a) mydata (in=b);
  by dte;
  if a and not b;
run;
于 2013-06-21T07:18:22.483 回答