2013-06-21 4 views
0

У меня есть набор данных sas для некоторых дат. Мне нужно создать все даты с 01FEB2008 до 31AUG2009. Как мне это сделать? Кроме того, мне нужно найти все отсутствующие даты из другого столбца дат. Пожалуйста, помогите. Поиск всех дат между диапазонами в SAS

+2

Добра пожаловать в Stack Overflow, пожалуйста, введите свой пример кода. – Hulk1991

ответ

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; 
4

Чуть более лаконичной версии кода 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 ;