Hi Chris,
Great information! I’m relatively new to SAS EG. Would you by any chance know if I can combine ods excel (code below) with either another proc report added to the ods process or proc export in order to create a report that breaks data by each excel sheet depending on a value of a particular field called SHEETNM (#byval5) and then add to each of those sheets additional data.

Code below does the first task of created 1st section of the report
- Titles 3 & 4 are different depending on the sheet

I just don’t know how I can append additional sections to each of those sheets.

ODS EXCEL FILE=&OUTFILE01.
OPTIONS(EMBEDDED_TITLES='YES'
EMBED_TITLES_ONCE= 'YES'
EMBEDDED_FOOTNOTES = 'YES'
START_AT='1,1'
GRIDLINES='ON'
ORIENTATION = 'LANDSCAPE'
FROZEN_HEADERS='YES'
FROZEN_ROWHEADERS = 'NO'
TITLE_FOOTNOTE_NOBREAK='YES'
SHEET_NAME = '#BYVAL5'
SHEET_INTERVAL='BYGROUP'
SHEET_LABEL = '#BYVAL5'
);
TITLE j=l 'ABC Company';
TITLE2 j=l 'Time Period: ' &BEGIN_DT. ' - ' &END_DT.;
TITLE3 J=L '#BYVAL2 #BYVAL3';
TITLE4 J=L '#BYVAL4';
TITLE5 J=LEFT ' ';
TITLE6 J=L 'Paid Claims Per Participant Per Month by Service';

PROC REPORT DATA=WORK.RPT1 NOWD HEADLINE HEADSKIP SPLIT= '*';
BY KEYCOL GROUP_NAME STATUS REPORTING_STATUS SHEETNM;
COLUMN KEYCOL REC CATEGORY TIMEFRAME,(' ' MEASURE PPPM DUMMY);
DEFINE KEYCOL / GROUP PAGE NOPRINT;
DEFINE REC / GROUP NOPRINT;
DEFINE CATEGORY / GROUP ' ' LEFT
STYLE(COLUMN)={JUST=L TAGATTR='WRAPTEXT:NO' WIDTH=100% CELLWIDTH=1.50in};
DEFINE TIMEFRAME / ACROSS ' ' ORDER=DATA LEFT
STYLE(COLUMN)={JUST=L TAGATTR='WRAPTEXT:NO' WIDTH=100%};
DEFINE MEASURE / ANALYSIS 'Dollars'
STYLE(COLUMN)={JUST=R TAGATTR='FORMAT:$#,##0.00_);[RED]\($#,##0.00\)' CELLWIDTH=1.00in};
DEFINE PPPM / ANALYSIS 'PPPM'
STYLE(COLUMN)={JUST=R TAGATTR='FORMAT:$#,##0.00_);[RED]\($#,##0.00\)' CELLWIDTH=1.00in};
DEFINE DUMMY / COMPUTED NOZERO ' '
STYLE(COLUMN)={JUST=R COLOR=WHITE TAGATTR='FORMAT:#,##0.00_);[RED]\(#,##0.00\)' CELLWIDTH=0.25in};

RBREAK AFTER / SUMMARIZE;

COMPUTE DUMMY;
DUMMY = '';
ENDCOMP;

COMPUTE AFTER KEYCOL;
LINE ' ';
ENDCOMP;

COMPUTE AFTER;
CATEGORY="Total";
LINE ' ';
ENDCOMP;
RUN;
ODS EXCEL CLOSE;

If I add another proc report to existing code, additional excel sheets are generated (called as the ones above with number ‘2’ added to the name of the sheet:

PROC REPORT DATA=WORK.RPT2 NOWD NOHEADER PLIT= '*';
BY KEYCOL GROUP_NAME STATUS REPORTING_STATUS SHEETNM;
COLUMN KEYCOL REC CATEGORY TIMEFRAME,(' ' DUMMY1 MEASURE DUMMY2);
DEFINE KEYCOL / GROUP PAGE NOPRINT;
DEFINE REC / GROUP NOPRINT;
DEFINE CATEGORY / GROUP ' ' LEFT
STYLE(COLUMN)={JUST=L TAGATTR='WRAPTEXT:NO' WIDTH=100% CELLWIDTH=1.50in};
DEFINE TIMEFRAME / ACROSS ' ' ORDER=DATA LEFT
STYLE(COLUMN)={JUST=L TAGATTR='WRAPTEXT:NO' WIDTH=100%};
DEFINE DUMMY1 / COMPUTED NOZERO ' '
STYLE(COLUMN)={JUST=R COLOR=WHITE TAGATTR='FORMAT:#,##0.00_);[RED]\(#,##0.00\)' CELLWIDTH=1.00in};
DEFINE MEASURE / ANALYSIS ' '
STYLE(COLUMN)={JUST=R TAGATTR='FORMAT:#,##0.00_);[RED]\(#,##0.00\)' CELLWIDTH=1.00in};
DEFINE DUMMY2 / COMPUTED NOZERO ' '
STYLE(COLUMN)={JUST=R COLOR=WHITE TAGATTR='FORMAT:#,##0.00_);[RED]\(#,##0.00\)' CELLWIDTH=0.25in};

COMPUTE DUMMY1;
DUMMY1 = '';
ENDCOMP;

COMPUTE DUMMY2;
DUMMY2 = '';
ENDCOMP;

COMPUTE AFTER KEYCOL;
LINE ' ';
ENDCOMP;
RUN;

Could I use proc export instead and in the sheet name specify ‘#byval5' aka SHEETNM do direct additional data to right sheets of the existing report? If so, how can I accomplish that?