25
PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

Embed Size (px)

Citation preview

Page 1: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

PROC GREPLAYWith Templates

December 5, 2008

Barry HongProcess Analysis and SimulationU. S. Steel Canada© 2008 United States Steel Corporation

Page 2: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

2

PROC GREPLAY With Templates

Create a lot of graphs?

Page 3: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

3

PROC GREPLAY

Concept

Create graphs in a catalogEg. work.charts

Replay graphsthrough atemplate

VOILA!Four charts onone page

Page 4: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

4

Basics

Creating Graphics

Default graphics catalog is work.gseg

Graphic procedures have the option GOUT=lib.cat to store graphic images

Procedure option NAME=‘gname’ permits you to name the graphic segment for future reference. Highly recommended

In SAS 9.1 names are limited to 8 characters. If the name exists SAS will add numbers to the end of the name.In SAS 9.2 names can be up to 256 characters long

Default name is based on the procedure

In SAS 9.1, 9.2 classic, long name sequence is template templat1 templat2 … last character dropped

Page 5: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

5

Example

Creating Graphics

Output graphics catalog is work.charts

Graphic entry name is hbar.

Default name would have been gchart.

proc gchart data=site_sales gout=work.charts; format sales dollar8.; hbar site /frame

sumvar=sales maxis=axis1 raxis=0 to 150000 by 25000

minor=0 descending name='hbar';

run; quit;

Page 6: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

6

Page Coordinates

Graphics Template

Page is defined using an (X,Y) coordinate system with values in percent of the page.

Coordinates are the same for both portrait and landscape orientation.

(0,100)(ULX,ULY)

(100,100)(URX,URY)

(0,0)(LLX,LLY)

(100,0)(LRX,LRY)

Page 7: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

7

Preparation

Graphics Template

Layout your plan on a sheet of paper and determine the four corner coordinates for each panel. Panels can be numbered in any order.

There is no limit to the number of panels you can create

(0,100)(ULX,ULY)

(50,100)(URX,URY)

(0,50)(LLX,LLY)

(50,50)(LRX,LRY)

Panel 1 Panel 2

Panel 3 Panel 4

Page 8: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

8

SAS Code to Create a Template

Graphics Template

Code terms:

• tc= the template catalog. Save in permanent catalog for reuse

PROC GREPLAY tc=data.template nofs;

tdef four des=’Four panels (2x2)’ /* define panel 1 */ 1/ llx=0 lly=50

ulx=0 uly=100urx=50 ury=100lrx=50 lry=50

/* define panel 2 */ 2/ llx=50 lly=50

ulx=50 uly=100urx=100 ury=100lrx=100 lry=50

/* define panel 3 */ 3/ llx=0 lly=0

ulx=0 uly=50urx=50 ury=50lrx=50 lry=0

/* define panel 4 */ 4/ llx=50 lly=0

ulx=50 uly=50urx=100 ury=50lrx=100 lry=0;

Run; quit;

Page 9: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

9

SAS Code to Create a Template

Graphics Template

Code terms:

• tc= the template catalog. Save in permanent catalog for reuse

• nofs = no full screen editing turns off the interactive window. Templates can be created in the interactive window.

PROC GREPLAY tc=data.template nofs;

tdef four des=’Four panels (2x2)’ /* define panel 1 */ 1/ llx=0 lly=50

ulx=0 uly=100urx=50 ury=100lrx=50 lry=50

/* define panel 2 */ 2/ llx=50 lly=50

ulx=50 uly=100urx=100 ury=100lrx=100 lry=50

/* define panel 3 */ 3/ llx=0 lly=0

ulx=0 uly=50urx=50 ury=50lrx=50 lry=0

/* define panel 4 */ 4/ llx=50 lly=0

ulx=50 uly=50urx=100 ury=50lrx=100 lry=0;

Run; quit;

Page 10: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

10

SAS Code to Create a Template

Graphics Template

Code terms:

• tc= the template catalog. Save in permanent catalog for reuse

• nofs = no full screen editing

• tdef defines the template, name is “four” Each panel requires eight values. Description is optional.

PROC GREPLAY tc=data.template nofs;

tdef four des=’Four panels (2x2)’ /* define panel 1 */ 1/ llx=0 lly=50

ulx=0 uly=100urx=50 ury=100lrx=50 lry=50

/* define panel 2 */ 2/ llx=50 lly=50

ulx=50 uly=100urx=100 ury=100lrx=100 lry=50

/* define panel 3 */ 3/ llx=0 lly=0

ulx=0 uly=50urx=50 ury=50lrx=50 lry=0

/* define panel 4 */ 4/ llx=50 lly=0

ulx=50 uly=50urx=100 ury=50lrx=100 lry=0;

Run; quit;

Page 11: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

11

SAS Code to Create a Template

Graphics Template

Code terms:

• tc= the template catalog. Save in permanent catalog for reuse

• nofs = no full screen editing

• tdef defines the template, name is “four”

• Only one semicolon after the last panel definition

PROC GREPLAY tc=data.template nofs;

tdef four des=’Four panels (2x2)’ /* define panel 1 */ 1/ llx=0 lly=50

ulx=0 uly=100urx=50 ury=100lrx=50 lry=50

/* define panel 2 */ 2/ llx=50 lly=50

ulx=50 uly=100urx=100 ury=100lrx=100 lry=50

/* define panel 3 */ 3/ llx=0 lly=0

ulx=0 uly=50urx=50 ury=50lrx=50 lry=0

/* define panel 4 */ 4/ llx=50 lly=0

ulx=50 uly=50urx=100 ury=50lrx=100 lry=0 ;

Run; quit;

Page 12: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

12

Replay graphs through the template

PROC GREPLAY

Code terms:

• igout= input graphics catalog

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2: vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 13: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

13

Replay graphs through the template

PROC GREPLAY

Code terms:

• igout= input graphics catalog

• tc= the template catalog

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2: vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 14: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

14

Replay graphs through the template

PROC GREPLAY

Code terms:

• igout= input graphics catalog

• tc= the template catalog

• template= template name in the template catalog

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2: vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 15: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

15

Replay graphs through the template

PROC GREPLAY

Code terms:

• igout= input graphics catalog

• tc= the template catalog

• template= template name

• gout= output graphics catalog, default work.gseg

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2: vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 16: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

16

Replay graphs through the template

PROC GREPLAY

Code terms:

• treplay links the template panels with the graphs

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2: vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 17: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

17

Replay graphs through the template

PROC GREPLAY

Code terms:

• treplay links the template panels with the graphs

• name= option to name the composite graph, default is template

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2: vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 18: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

18

Replay graphs through the template

PROC GREPLAY

Code terms:

• treplay links the template panels with the graphs

• name= option to name the composite graph, default is template

• des= optional description

PROC GREPLAY igout=work.chartstc=data.template template=fourgout=work.compositenofs;

treplay 1:hbar 2:vbar 3:pie 4:bubble name=‘fourplot’des=‘Four Sales Plots’;

run; quit;

Page 19: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

19

work.composite.fourplot.gseg

PROC GREPLAY With Templates

Panel coordinates can be set to create borders and white space between charts

Page 20: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

20

Composite page with a banner

PROC GREPLAY With Templates

Panels do not have to be the same size.

Panels can overlap, the banner panel covers the whole page.

Page 21: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

21

Pay attention to panel coordinates

PROC GREPLAY With Templates

Mistakes in defining a panel can result in funny looking charts.

Page 22: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

22

Panel coordinate errors

PROC GREPLAY With Templates

Panel corners did not define a rectangle

Page 23: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

23

Panel coordinate errors

PROC GREPLAY With Templates

My favourite: the dimensional twist. Right side coordinates transposed

Page 24: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

24

Summary

Using PROC GREPLAY With Templates won’t get you this yacht but it will make you look like a big shot to your information consumers.

Page 25: PROC GREPLAY With Templates December 5, 2008 Barry Hong Process Analysis and Simulation U. S. Steel Canada © 2008 United States Steel Corporation

25

Bonus Section

PROC GREPLAY With Templates

If you want to get started with templates I can help with the following:

• SAS catalog containing lots of templates• SAS macro to create page banners

Contact me at [email protected]

Base SAS comes with a few templates in a catalog.