%let dir=C:\Users\Johnny;
proc import datafile="&dir\grades.xlsx"
out=grades
replace;
run;
ODS LISTING CLOSE;
OPTIONS NODATE
NONUMBER
TOPMARGIN =0.5IN
LEFTMARGIN =0.5IN
RIGHTMARGIN =0.5IN
BOTTOMMARGIN=0.5IN;
ods noptitle;
ods pdf FILE = "&dir\test.pdf" accessible STYLE=BARRETTSBLUE;
ods proclabel='Frequencies';
ODS ESCAPECHAR = '^';
ODS pdf TEXT = "^{STYLE[FONTSIZE=10.5pt JUST=L fontweight=bold]QUIZ}";
ODS pdf TEXT = " ";
PROC REPORT DATA = grades MISSING STYLE(REPORT)=[/*width=100%*/ BACKGROUND=WHITE BORDERCOLOR=WHITE BORDERWIDTH=0 ASIS=OFF FONTSIZE=2 just=l] NOWD contents="quiz: &vlabel";
COLUMN quiz quiz=vallabel DUMROW N PCTN;
COMPUTE quiz;
COUNT+1;
/* IF (MOD(COUNT,2)) THEN DO;*/
/* CALL DEFINE (_ROW_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]');*/
/* END;*/
if (mod(count,2))=0 then call define(_row_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]');
ENDCOMP;
DEFINE quiz /"Value" GROUP ORDER=INTERNAL STYLE(COLUMN)=[WIDTH=10% JUST=C FONTSIZE=2] STYLE(HEADER)=[JUST=C FONTSIZE=2] ;
DEFINE vallabel /"Label" GROUP ID STYLE(COLUMN)=[WIDTH=60% JUST=L FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] format=1. NOPRINT ;
DEFINE DUMROW /COMPUTED "Label" STYLE(COLUMN)=[WIDTH=60% JUST=L FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] width=65;
DEFINE N /"Frequency" STYLE(COLUMN)=[WIDTH=15% JUST=R FONTSIZE=2] STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=COMMA12. ;
DEFINE PCTN /"%" STYLE(COLUMN)=[WIDTH=10% JUST=R FONTSIZE=2] STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=PERCENT7.1 ;
COMPUTE DUMROW /CHAR LENGTH = 65;
IF _BREAK_="_RBREAK_" THEN DO DUMROW = 'Total';
END;
ELSE DUMROW=PUT(vallabel, 1.);
IF DUMROW = 'Total' THEN CALL DEFINE (_ROW_, 'STYLE', "STYLE=[BACKGROUND=LIGHT GRAY FONTSTYLE=ITALIC FONTSIZE=2]");
ENDCOMP;
RBREAK AFTER / SUMMARIZE;
RUN;
ODS pdf TEXT = " ";
ODS pdf TEXT = "AND THAT'S A WRAP FOR QUIZZES";
ods startpage=now;
ODS pdf TEXT = "^{sectd}^{STYLE[FONTSIZE=10.5pt JUST=L fontweight=bold]GRADE}";
ODS pdf TEXT = " ";
PROC REPORT DATA = grades MISSING STYLE(REPORT)=[width=100% BACKGROUND=WHITE BORDERCOLOR=WHITE BORDERWIDTH=0 ASIS=OFF FONTSIZE=2] NOWD contents="GRADE: &vlabel";
COLUMN GRADE GRADE=vallabel DUMROW N PCTN;
COMPUTE GRADE;
COUNT+1;
/* IF (MOD(COUNT,2)) THEN DO;*/
/* CALL DEFINE (_ROW_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]');*/
/* END;*/
if (mod(count,2))=0 then call define(_row_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]');
ENDCOMP;
DEFINE GRADE /"Value" GROUP ORDER=INTERNAL STYLE(COLUMN)=[WIDTH=10% JUST=C FONTSIZE=2] STYLE(HEADER)=[JUST=C FONTSIZE=2] ;
DEFINE vallabel /"Label" GROUP ID STYLE(COLUMN)=[WIDTH=60% JUST=L FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] format=$1. NOPRINT ;
DEFINE DUMROW /COMPUTED "Label" STYLE(COLUMN)=[WIDTH=60% JUST=L FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] width=65;
DEFINE N /"Frequency" STYLE(COLUMN)=[WIDTH=15% JUST=R FONTSIZE=2] STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=COMMA12. ;
DEFINE PCTN /"%" STYLE(COLUMN)=[WIDTH=10% JUST=R FONTSIZE=2] STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=PERCENT7.1 ;
COMPUTE DUMROW /CHAR LENGTH = 65;
IF _BREAK_="_RBREAK_" THEN DO DUMROW = 'Total';
END;
ELSE DUMROW=PUT(vallabel, $1.);
IF DUMROW = 'Total' THEN CALL DEFINE (_ROW_, 'STYLE', "STYLE=[BACKGROUND=LIGHT GRAY FONTSTYLE=ITALIC FONTSIZE=2]");
ENDCOMP;
RBREAK AFTER / SUMMARIZE;
RUN;
ODS pdf TEXT = " ";
ODS pdf TEXT = "AND THAT'S A WRAP FOR GRADES";
ods startpage=now;
quit;
title;
ODS _all_ CLOSE;
1 2 %let dir=C:\Users\Johnny; 3 4 proc import datafile="&dir\grades.xlsx" 5 out=grades 6 replace; 7 run;
NOTE: WORK.GRADES data set was successfully created. NOTE: The data set WORK.GRADES has 12 observations and 3 variables. NOTE: PROCEDURE IMPORT used (Total process time): real time 0.86 seconds cpu time 0.32 seconds
8 9 ODS LISTING CLOSE; 10 11 OPTIONS NODATE 12 NONUMBER 13 TOPMARGIN =0.5IN 14 LEFTMARGIN =0.5IN 15 RIGHTMARGIN =0.5IN 16 BOTTOMMARGIN=0.5IN; 17 18 ods noptitle; 19 ods pdf FILE = "&dir\test.pdf" accessible STYLE=BARRETTSBLUE; NOTE: Writing ODS PDF output to DISK destination "C:\Users\Johnny\test.pdf", printer "PDFUA". 20 21 ods proclabel='Frequencies'; 22 23 ODS ESCAPECHAR = '^'; 24 25 ODS pdf TEXT = "^{STYLE[FONTSIZE=10.5pt JUST=L fontweight=bold]QUIZ}"; 26 ODS pdf TEXT = " "; 27 28 PROC REPORT DATA = grades MISSING STYLE(REPORT)=[/*width=100%*/ BACKGROUND=WHITE 28 ! BORDERCOLOR=WHITE BORDERWIDTH=0 ASIS=OFF FONTSIZE=2 just=l] NOWD contents="quiz: 28 ! &vlabel"; NOTE: Writing HTML Body file: sashtml.htm WARNING: Apparent symbolic reference VLABEL not resolved. 29 30 COLUMN quiz quiz=vallabel DUMROW N PCTN; 31 32 COMPUTE quiz; 33 COUNT+1; 34 /* IF (MOD(COUNT,2)) THEN DO;*/ 35 /* CALL DEFINE (_ROW_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]');*/ 36 /* END;*/ 37 if (mod(count,2))=0 then call define(_row_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]'); 38 ENDCOMP; 39 40 DEFINE quiz /"Value" GROUP ORDER=INTERNAL STYLE(COLUMN)=[WIDTH=10% JUST=C 40 ! FONTSIZE=2] STYLE(HEADER)=[JUST=C FONTSIZE=2] ; 41 DEFINE vallabel /"Label" GROUP ID STYLE(COLUMN)=[WIDTH=60% JUST=L 41 ! FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] format=1. NOPRINT ; 42 DEFINE DUMROW /COMPUTED "Label" STYLE(COLUMN)=[WIDTH=60% JUST=L 42 ! FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] width=65; 43 DEFINE N /"Frequency" STYLE(COLUMN)=[WIDTH=15% JUST=R FONTSIZE=2] 43 ! STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=COMMA12. ; 44 DEFINE PCTN /"%" STYLE(COLUMN)=[WIDTH=10% JUST=R 44 ! FONTSIZE=2] STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=PERCENT7.1 ; 45 46 COMPUTE DUMROW /CHAR LENGTH = 65; 47 IF _BREAK_="_RBREAK_" THEN DO DUMROW = 'Total'; 48 END; 49 ELSE DUMROW=PUT(vallabel, 1.); 50 IF DUMROW = 'Total' THEN CALL DEFINE (_ROW_, 'STYLE', "STYLE=[BACKGROUND=LIGHT 50 ! GRAY FONTSTYLE=ITALIC FONTSIZE=2]"); 51 ENDCOMP; 52 53 RBREAK AFTER / SUMMARIZE; 54 55 RUN;
NOTE: There were 12 observations read from the data set WORK.GRADES. NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format. NOTE: PROCEDURE REPORT used (Total process time): real time 0.39 seconds cpu time 0.18 seconds
56 57 ODS pdf TEXT = " "; 58 ODS pdf TEXT = "AND THAT'S A WRAP FOR QUIZZES"; 59 ods startpage=now; 60 61 62 63 ODS pdf TEXT = "^{sectd}^{STYLE[FONTSIZE=10.5pt JUST=L fontweight=bold]GRADE}"; 64 ODS pdf TEXT = " "; 65 66 PROC REPORT DATA = grades MISSING STYLE(REPORT)=[width=100% BACKGROUND=WHITE 66 ! BORDERCOLOR=WHITE BORDERWIDTH=0 ASIS=OFF FONTSIZE=2] NOWD contents="GRADE: &vlabel"; WARNING: Apparent symbolic reference VLABEL not resolved. 67 68 COLUMN GRADE GRADE=vallabel DUMROW N PCTN; 69 70 COMPUTE GRADE; 71 COUNT+1; 72 /* IF (MOD(COUNT,2)) THEN DO;*/ 73 /* CALL DEFINE (_ROW_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]');*/ 74 /* END;*/ 75 if (mod(count,2))=0 then call define(_row_, 'STYLE', 'STYLE=[BACKGROUND=WHITE]'); 76 ENDCOMP; 77 78 DEFINE GRADE /"Value" GROUP ORDER=INTERNAL STYLE(COLUMN)=[WIDTH=10% JUST=C 78 ! FONTSIZE=2] STYLE(HEADER)=[JUST=C FONTSIZE=2] ; 79 DEFINE vallabel /"Label" GROUP ID STYLE(COLUMN)=[WIDTH=60% JUST=L 79 ! FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] format=$1. NOPRINT ; 80 DEFINE DUMROW /COMPUTED "Label" STYLE(COLUMN)=[WIDTH=60% JUST=L 80 ! FONTSIZE=2] STYLE(HEADER)=[JUST=L FONTSIZE=2] width=65; 81 DEFINE N /"Frequency" STYLE(COLUMN)=[WIDTH=15% JUST=R FONTSIZE=2] 81 ! STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=COMMA12. ; 82 DEFINE PCTN /"%" STYLE(COLUMN)=[WIDTH=10% JUST=R 82 ! FONTSIZE=2] STYLE(HEADER)=[JUST=R FONTSIZE=2] FORMAT=PERCENT7.1 ; 83 84 COMPUTE DUMROW /CHAR LENGTH = 65; 85 IF _BREAK_="_RBREAK_" THEN DO DUMROW = 'Total'; 86 END; 87 ELSE DUMROW=PUT(vallabel, $1.); 88 IF DUMROW = 'Total' THEN CALL DEFINE (_ROW_, 'STYLE', "STYLE=[BACKGROUND=LIGHT 88 ! GRAY FONTSTYLE=ITALIC FONTSIZE=2]"); 89 ENDCOMP; 90 91 RBREAK AFTER / SUMMARIZE; 92 93 RUN;
NOTE: There were 12 observations read from the data set WORK.GRADES. NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format. NOTE: PROCEDURE REPORT used (Total process time): real time 0.03 seconds cpu time 0.03 seconds
94 95 ODS pdf TEXT = " "; 96 ODS pdf TEXT = "AND THAT'S A WRAP FOR GRADES"; 97 ods startpage=now; 98 99 quit; 100 title; 101 ODS _all_ CLOSE; NOTE: ODS PDF printed 2 pages to C:\Users\Johnny\test.pdf.
... View more