我为跑马拉松的人提供了下表
person start end
mike 2-Jun-14 2-Aug-14
nike 3-Jul-14 9-Aug-14
mini 1-Aug-14 3-Nov-14
我想知道一个人是否正在参加马拉松比赛"在每个月的1号。所需的表应如下所示
person running on
mike 1-Jul-14
mike 1-Aug-14
nike 1-Aug-14
mini 1-Aug-14
mini 1-Sep-14
... for all other months
SAS proc sql
中是否有任何方法可以获得此结果。其他dbms有这个(Teradata,Oracle)。在SAS中,最好的方法是什么?
答案 0 :(得分:4)
我会使用DATA STEP在SAS中解决这个问题。
data have;
input person $ from :anydtdte. to :anydtdte.;
format from to date11.;
datalines;
mike 2-Jun-14 2-Aug-14
nike 3-Jul-14 9-Aug-14
mini 1-Aug-14 3-Nov-14
;
run;
data want(keep=person running_on);
set have;
format Running_on date11.;
do Running_on=from to to;
if day(running_on) = 1 then
output;
end;
run;