SAS Programming by Example [9]
Chapter 9 PROC PRINT Writing Simple Reports
Example 1 Creating a Simple "Bare-Bones" report Feature: PROC PRINT, VAR statement PROC PRINT DATA=MEDICAL; VAR SUB_ID DIAGCODE ADMIT_DT DISCH_DT HOSPCODE LOS COST; RUN; Example 2 Dropping Observation Numbers Features: PROC PRINT, NOOBS Option, ID and VAR statement PROC PRINT DATA=MEDICAL; ID SUB_ID; VAR DIAGCODE ADMIT_DT DISCH_DT HOSPCODE LOS COST; RUN; Example 3 Increasing Readability Features: PROC PRINT, LABEL Option, TITLE, ID, VAR, LABEL, And FORMAT Statement, DOLLARn, and SSN11. Formats PROC PRINT DATA=MEDICAL LABEL; TITLE Hospital Data Base Report"; TITLE2 "_________________________"; ID SUB_ID; VAR DIAGCODE ADMIT_DT DISCH_DT HOSPCODE LOS COST; LABEL DIAGCODE="Diagnosis Code" ADMIT_DT="Admission Date"
DISCH_DT="Discharge Date" HOSPCODE="Hospital Code" LOS ="Length of Stay" COST ="Cost of Treatment"; FORMAT COST DOLLAR7. SUB_ID SSN11. ADMIT_DT DISCH_DT MMDDYY8; RUN; Note: LABEL option tells the system to actually use the labels that Are created in LABEL statement, LABEL statement in PROC is Only available in this procedure. Example 4 Adding Column Totals and Subtotals, observation Counts, and Footnotes Features: PROC PRINT, N and LABEL Options, TITLE, BY, SUM, SUMBY, ID, VAR, LABEL, FORMAT, and FOOTNOTE Statements, NOCENTER, NODATE, NONUMBER, PAGESIZE, And LINESIZE system options OPTIONS NOCENTER NODATE NONUMBER; PROC SORT DATA=MEDICAL; BY DIAGCODE; RUN; PROC PRINT DATA=MEDICAL N LABEL; BY DIAGCODE; TITLE "Hospital Data Base Report"; TITLE2 ""; FOOTNOTE "Prepared by RPC and Company"; SUM LOS COST; SUMBY DIAGCODE; ID SUB_ID; VAR DIAGCODE ADMIT_DT DISCH_DT HOSPCODE LOS COST; LABEL DIAGCODE = "Diagnosis Code" ADMIT_DT = "Admission Date" DISCH_DT = "Discharge Date" HOSPCODE = "Hospital Code" LOS = "Length of Stay" COST = "Cost of Treatment"; FORMAT COST DOLLAR7. SUB_ID SSN11. ADMIT_DT DISCH_DT MMDDYY8; RUN; Note: N option is to obtain the number of observations in the data Set. When a BY variables is used, the N option also indicates The number of observations for each value of the BY variables.
Note: Dealing with Multi-Page Reports The PROC PRINT option WIDTH=allows to choose FULL, MINIMUM, UNIFORM or UNIFORMBY to demonstrate some of these options Example 5 Using the WIDTH=FULL Option PROC PRINT DATA=MEDICAL WIDTH=FULL; TITLE "WIDTH option FULL"; VAR SUB_ID DIAGCODE ADMIT_DT DISCH_DT HOSPCODE LOS COST; FORMAT COST DOLLAR7. SUB_ID SSN11. ADMIT_DT DISCH_DT MMDDYY8; RUN; Example 6 Using the WIDTH=MINIMUM Option PROC PRINT DATA=MEDICAL WIDTH=MINIMUM; TITLE "WIDTH option MINIMUM"; VAR SUB_ID DIAGCODE ADMIT_DT DISCH_DT HOSPCODE LOS COST; FORMAT COST DOLLAR7. SUB_ID SSN11. ADMIT_DT DISCH_DT MMDDYY8; RUN; Note: WIDTH=FULL takes a report up more room WIDTH=MINIMUM uses the minimum width necessary to display The data on a given page for each column, along with UNIFORM, it takes a bit more CPU time than FULL. Note: PROC HEADING=HORIZONTAL/VERTICAL;