在SAS中查找范围之间的所有日期

在SAS中查找范围之间的所有日期,sas,Sas,我有一些日期的sas数据集。我需要生成从2008年2月1日到2009年8月31日的所有日期。我该怎么办?此外,我还需要从另一列日期中查找所有缺失的日期。请帮助未经测试的用户: 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;

我有一些日期的sas数据集。我需要生成从2008年2月1日到2009年8月31日的所有日期。我该怎么办?此外,我还需要从另一列日期中查找所有缺失的日期。请帮助未经测试的用户:

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;
未经测试:

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;

Honh Ooi的代码更简洁一点

data alldates ; do dt = '01feb2008'd to '31aug2009'd ; output ; end ; format dt date9. ; run ; proc sql ; create table dtmiss as select * from alldates where dt not in(select dt from mydata) ; quit ;
Honh Ooi的代码更简洁一点

data alldates ; do dt = '01feb2008'd to '31aug2009'd ; output ; end ; format dt date9. ; run ; proc sql ; create table dtmiss as select * from alldates where dt not in(select dt from mydata) ; quit ;
欢迎来到Stack Overflow,请把示例代码也放进去..欢迎来到Stack Overflow,请把示例代码也放进去。。