我需要你帮助开发一个针对特定(范围)数据的de-hoc查询,下面是一个股票优秀HOC的例子:
ID StartDT EndDT SharesOutstanding
ABC 01-Jan-2010 03-Feb-2013 100
ABC 04-Feb-2014 03-Sep-2014 160
XYZ 01-Jan-2011 03-Mar-2012 52
XYZ 04-Mar-2012 09-Aug-2013 108
XYZ 10-Aug-2013 03-Sep-2014 120
现在我想将每天的上述范围数据解除或打破。以下是所需的输出:
ID Date Shares
ABC 01-Jan-2010 100
ABC 02-Jan-2010 100
ABC 03-Jan-2010 100
ABC 04-Jan-2010 100
ABC 05-Jan-2010 100
.......
ABC 03-Feb-2014 100
ABC 04-Feb-2014 160
....till 03-Sep-2014
我正在使用带有PROCSQL的SAS代码,但这非常耗时
最早需要您对此查询的帮助
由于 亚太区首席技术官Matt
答案 0 :(得分:0)
使用数据步骤和一些do循环,这应该相当容易。
data want(drop = StartDT EndDT i);
set have;
format date date9.;
do i = 0 to (EndDT-StartDT);
date = StartDT + i;
output;
end;
run;
你真的想要很多重复的行,或者你只是想获得日期的差异吗?