I started this, but realized I was on the wrong track:
%let start = 30MAR2016;
%let num = 8;
* dummy format for debugging ;
proc format;
value dates2qtrnum
1 -< 2 = 3
;
run;
* view the structure of the cntlout table ;
proc format cntlout=cntlout;
run;
* create desired cntlin table ;
data cntlin;
length fmtname $32 start end label 8 type eexcl $1;
fmtname="DATES2QTRGRP";
type="N";
eexcl="Y";
start="&start"d;
do label=1 to #
end=intnx('qtr',"&start"d,label,'B');
output;
start=end;
end;
format start end date9.;
run;
But the concept is to:
Create a range format to group your data into the correct buckets.
Apply the format to your dates to derive the correct bucket.
Use BY processing to split your data
As far as how to do this in DI, once you get the correct code running in EG, just use a user-written transformation and post your working code into DI.
... View more