Hello,
I spent the past couple of days trying to build a report using Summary Tables (under Describe). I've made some headways in my progress, but spent more hours than I think it should take me on the following items. I would like to apologize if I exceeded the number of bullets allowed. I am looking for assistance on how to complete this via EG. The SAS-generated code is below in red. I am currently using SAS EG 6.1.
Thank you!
Version | ForecastQualifier | . | . | . | . | . | . | |||
Forecast | 2015 | Total (ALL) | Program | |||||||
A | . | . | . | . | . | . | ||||
B | ||||||||||
C | . | . | . | . | . | . | ||||
D | . | . | . | . | . | . | ||||
E | . | . | . | . | . | . | ||||
F | . | . | . | . | . | . | ||||
G | . | . | . | . | . | . | ||||
H | . | . | . | . | . | . | ||||
I | . | . | . | . | . | . | ||||
2014 | Total (ALL) | A | $1 | $1 | $1 | $1 | $1 | . | ||
B | $1 | $1 | $1 | $1 | $1 | . | ||||
C | $1 | $1 | $1 | $1 | $1 | . | ||||
D | $1 | $1 | $1 | $1 | $1 | . | ||||
E | $1 | $1 | $1 | $1 | $1 | . | ||||
F | $1 | $1 | $1 | $1 | $1 | . | ||||
G | $1 | $1 | $1 | $1 | $1 | . | ||||
H | $1 | $1 | $1 | $1 | $1 | . | ||||
I | $1 | $1 | $1 | $1 | $1 | . |
Here is the SAS-generated code:
/* Start of custom user code. */
options orientation=landscape;
options papersize=(11in 8.5in);
/* End of custom user code. */
%_eg_conditional_dropds(WORK.STABSummaryTablesCOST_BENEFIT);
/* -------------------------------------------------------------------
Run the tabulate procedure
------------------------------------------------------------------- */
PROC TABULATE
DATA=JEN1.COST_BENEFIT(FIRSTOBS=1 )
OUT=WORK.STABSummaryTablesCOST_BENEFIT(LABEL="Summary Tables for JEN1.COST_BENEFIT")
FORMAT=MILLION.
;
VAR FYF14 FYF15 FYF16 FYF17 FYF18 FYF19 FYF5Y;
CLASS Version / ORDER=UNFORMATTED;
CLASS ForecastQualifier / ORDER=UNFORMATTED DESCENDING;
CLASS InitiativeType / ORDER=UNFORMATTED;
CLASS Type / ORDER=UNFORMATTED;
CLASS Program / ORDER=UNFORMATTED DESCENDING;
TABLE /* Row Dimension */
Version*
ForecastQualifier*
Program*
Sum={LABEL=""},
/* Column Dimension */
FYF14
FYF15
FYF16
FYF17
FYF18
FYF19
/*Table Options */
/ MISSTEXT="" ;
;
RUN;
Partial response:
1) The "." you are getting is a system option for missing data. You should be able to change that to any single character but not using EG I'm not sure what the point and grunt approach would be.
2) The size of PDF might be able to fit by using a different style that uses a smaller font such a Meadow or Seaside. OR spend a lot of time with style overrides.
3) Note that in the column dimension FYF5Y does not appear. You may have missed a selection.
5) I don't know which report generator you called but one that will call Proc Tabulate cannot do the calculation requested. Proc Report can but that will require going through another set of selections.
6) Normally a Where statement can be used with any procedure such as: where Version='Forecast' or similar as a dataset option.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.