Sure thing! Totally revamped the previous code
%Let YYMM = %sysfunc(mdy(11,01,2016)); *Start Date;
/*Add LineBreak*/
Data Work.LineBreak;
length Indicator $20.;
Set Have;
By Trial;
If First.Trial then do;
Indicator = cats('Scenario',Trial);
Output;
Indicator = put(&YYMM,mmyyn4.);
Output;
End;
Else if not First.Trial and not Last.Trial then do;
Indicator = put(intnx('month',&YYMM,Timestep),mmyyn4.);
Output;
End;
Else if Last.Trial then do;
Indicator = put(intnx('month',&YYMM,Timestep),mmyyn4.);
Output;
Indicator = 'END';
Output;
End;
Run;
/*Clear LineBreaks*/
Data Work.ClearBreak(drop=Trial Timestep);
Set Work.LineBreak;
Array AllNumVars _numeric_;
If substr(Indicator,1,8) = 'Scenario' or Indicator = 'END' then do;
Do over AllNumVars;
AllNumVars = .;
End;
End;
if substr(Indicator,1,8) = 'Scenario' then do;
indicator = substr(Indicator,9,4);
End;
if Indicator not = 'END' then do;
if length(Indicator) lt 4 then Indicator = cats(repeat('0',4-1-length(Indicator)),Indicator);
end;
run;
... View more