Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2008, SAS Institute Inc. All rights reserved. SAS Graphics on ODS v9.2 Performance Enhancing Steroids Daniel O’Connor Systems Developer, SAS.

Similar presentations


Presentation on theme: "Copyright © 2008, SAS Institute Inc. All rights reserved. SAS Graphics on ODS v9.2 Performance Enhancing Steroids Daniel O’Connor Systems Developer, SAS."— Presentation transcript:

1 Copyright © 2008, SAS Institute Inc. All rights reserved. SAS Graphics on ODS v9.2 Performance Enhancing Steroids Daniel O’Connor Systems Developer, SAS Institute Inc.

2 Copyright © 2008, SAS Institute Inc. All rights reserved. Bar size 2048 Professional Athletes Accused of Abuse

3 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Styles  Colors  Fonts  Overall appearance  Theme  Symbols  Line Patterns Bar size 2048

4 Copyright © 2008, SAS Institute Inc. All rights reserved. SAS 9.2 Graphs honor Styles Bar size 2048 SAS 9.1SAS 9.2

5 Copyright © 2008, SAS Institute Inc. All rights reserved. SAS 9.2 Graphs honor Styles title "Perceived Harmfulness of Steroids"; footnote "Source: 2005 Monitoring the Future Survey."; goptions device=png hsize=3in vsize=3in border; proc gchart; axis1 label=none; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1; ;run;quit; Bar size 2048

6 Copyright © 2008, SAS Institute Inc. All rights reserved. GSTYLE Option Options >; Default: GSTYLE Graphs will automatically honor the active ODS Style for each output destination. Bar size 2048

7 Copyright © 2008, SAS Institute Inc. All rights reserved. Default Styles

8 Copyright © 2008, SAS Institute Inc. All rights reserved. Changing the Default Styles

9 Copyright © 2008, SAS Institute Inc. All rights reserved. How do ODS Styles effect my output?

10 Copyright © 2008, SAS Institute Inc. All rights reserved. Overriding the Default Style title "Perceived Harmfulness of Steroids"; footnote "Source: 2005 Monitoring the Future Survey."; goptions device=png hsize=3in vsize=3in border; ods listing style= ; proc gchart; axis1 label=none; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1; ;run;quit;

11 Copyright © 2008, SAS Institute Inc. All rights reserved. Creating your own style

12 Copyright © 2008, SAS Institute Inc. All rights reserved. Creating your own style proc template; define style Styles.SGFImage; parent=Styles.science; style GraphBackground "Graph background attributes" / backgroundimage = "pillsLighten4.jpg"; end; run; ods listing style=SGFImage;

13 Copyright © 2008, SAS Institute Inc. All rights reserved. Customizing your own style

14 Copyright © 2008, SAS Institute Inc. All rights reserved. Gradient Colors style GraphBackground "Graph background attributes" / startcolor = cx4a495a endcolor = cx000000 gradient_direction = "YAxis"; style GraphData1 “Graph Data attributes” / startcolor=GraphColors("gcdata1") endcolor=cxd6deef gradient_direction="yaxis"; [ snip….] style GraphData8 “Graph Data attributes” / startcolor=GraphColors("gcdata8") endcolor=cxf7dee7 gradient_direction="yaxis";

15 Copyright © 2008, SAS Institute Inc. All rights reserved. Free Type Font Engine

16 Copyright © 2008, SAS Institute Inc. All rights reserved. Graphic Devices  DPI  Default Sizes  Orientation  Catalog Grseg  Image Type

17 Copyright © 2008, SAS Institute Inc. All rights reserved. Default Graphic Devices

18 Copyright © 2008, SAS Institute Inc. All rights reserved. Changing Graphic Devices  Options device=png  Goption device=png  Ods device=png

19 Copyright © 2008, SAS Institute Inc. All rights reserved. Valid Image Formats

20 Copyright © 2008, SAS Institute Inc. All rights reserved. Scalable Vector Graphics Device Driver

21 Copyright © 2008, SAS Institute Inc. All rights reserved. Scalable Vector Graphics Device Driver goptions device=svg; title "Perceived Harmfulness of Steroids"; footnote "Source: 2005 Monitoring the Future Survey."; ods html file=“Slide20.html"; proc gchart; axis1 label=none; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1; run;quit; ods html close;

22 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Destination Interactions

23 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Destination Interactions ods html file=”Slide22Sketch.html” style=Sketch; ods pdf ” file=”Slide22Banker.pdf” style=Banker; goptions hsize=3.25in vsize=3in border; proc gchart data=sashelp.class; vbar age; run; quit; ods pdf close; ods html close;

24 Copyright © 2008, SAS Institute Inc. All rights reserved. Graphic Catalog Entries

25 Copyright © 2008, SAS Institute Inc. All rights reserved. Altering the position and size of the graph  Hsize  Vsize  Horigin  Vorigin

26 Copyright © 2008, SAS Institute Inc. All rights reserved. Multiple Columns RTF and PDF only columns = Example: Ods pdf file=“slide19.pdf” columns = 3; … Start New Page

27 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Multiple Columns

28 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Multiple Columns ods pdf file=“Slide26.pdf" columns=2; title "Perceived Harmfulness of Steroids"; footnote "Source: 2005 Monitoring the Future Survey."; axis1 label=none; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; ods pdf close;

29 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Multiple Rows

30 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Startpage STARTPAGE = NEVER do not insert any page breaks NOnew page will only begin when the page is full YESInsert new pages on PROC boundaries, and when PROC specifically requests one NOWImmediately start a new page Bar size 2048

31 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Multiple Rows ods pdf file=“Slide28.pdf" Startpage=no; goptions vsize=5in; title "Perceived Harmfulness of Steroids"; footnote "Source: 2005 Monitoring the Future Survey."; axis1 label=none; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; ods pdf close;

32 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Multiple Rows & Columns

33 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output on a page ods pdf file=“Slide30.pdf" startpage=no columns=2; goptions vsize=5in border; axis1 label=none; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; proc gchart; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; ods pdf close;

34 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with Multiple Columns

35 Copyright © 2008, SAS Institute Inc. All rights reserved. Multiple Columns

36 Copyright © 2008, SAS Institute Inc. All rights reserved. Multiple Columns

37 Copyright © 2008, SAS Institute Inc. All rights reserved. Customizing Date/Timestamp and Page Number

38 Copyright © 2008, SAS Institute Inc. All rights reserved. Customizing Date/Timestamp and Page Number proc template; define style Styles.Pageno; parent=Styles.Printer; class BodyDate / vjust=Bottom just=Right; class Pageno / vjust=Bottom just=Center; end; run; ods pdf file=“Slide32.pdf" startpage=no style=Pageno; [ same as previous graph code] ods pdf close;

39 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing your Output Width ODS LAYOUT  Absolute  Gridded

40 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing your Output Width ODS Layout Ods layout start ; Ods region ; Ods layout end ;

41 Copyright © 2008, SAS Institute Inc. All rights reserved. Reasons why you would use Absolute Layout  Cover Page  Static Data  Pre-printed Form  Single Page Only

42 Copyright © 2008, SAS Institute Inc. All rights reserved. Absolute Layout Title Footnote Layout Region Ods layout start width=7in height=10in; Ods layout end; Ods region x=2.5in y=3.5in width=3in height=2in; Ods region x=4in y=5.5in width=3in height=2in;

43 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Absolute Layout

44 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Absolute Layout ods layout start width=7in height=10in; ods region height=3in width=3in x=0in y=.5in; proc print data=sashelp.class(obs=5);run; ods region height=3in width=3in x=5in y=.5in; ods pdf text='~{style [font_size=28pt]To the left is a PROC …}'; ods region height=3in width=3in x=0in y=3.5in; ods pdf text='~{style [font_size=28pt]To the right is a PROC …}'; ods region height=3in width=3in x=5in y=3.5in; proc sgplot data=sashelp.class; scatter x=height y=weight /group=age;run; ods region height=3in width=3in x=0in y=8in; proc gchart data=sashelp.class; vbar age; run;quit; ods region height=3in width=3in x=5in y=8in; ods pdf text='~{style [font_size=28pt]To the left is a PROC...}'; ods layout end;

45 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Absolute Layout Syntax: ODS LAYOUT START Y = Width = Height = > ; ODS REGION Y = Width = Height = > ; ODS LAYOUT END;

46 Copyright © 2008, SAS Institute Inc. All rights reserved. Reasons why you would use Gridded Layout  Regions can be dynamically sized  Accommodate dynamic data  Ease of use (less syntax)  Alignment  Can span more than 1 page

47 Copyright © 2008, SAS Institute Inc. All rights reserved. Gridded Layout Tile Footnote Region Start New Page Region Ods layout start columns =2; Ods layout end; Ods region; Ods region column_span=2;

48 Copyright © 2008, SAS Institute Inc. All rights reserved. Gridded Layout Tile Footnote Region 1Region 2 Tile Footnote Region 1Region 2 Start New Page

49 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with ODS Gridded Layout

50 Copyright © 2008, SAS Institute Inc. All rights reserved. Managing Output with ODS Gridded Layout ods layout start columns=2; ods region width=4in; proc gchart; axis1 label=none; vbar year / width=12 outside=sum sumvar=response discrete maxis=axis1 raxis=axis1;run;quit; ods region; proc print;run; ods layout end;

51 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Gridded Layout Syntax: ODS LAYOUT START Columns = Width = Height = Row_span = Column_span = > ; ODS REGION Height = Row_span = Column_span = > ; ODS LAYOUT END;

52 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Gridded Layout Syntax: ODS LAYOUT START Height = Rows = Row_heights = Row_gutter = Columns = Column_widths = Column_gutter = > ;

53 Copyright © 2008, SAS Institute Inc. All rights reserved. Gridded Layout Tile Footnote Region COLUMN_GUTTER ROW_GUTTER COLUMN_WIDTHS 3in4in ROW_HEIGHT 2in

54 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Gridded Layout Syntax: ODS REGION Height = Row_span = Row = Column_span = Column = > ;

55 Copyright © 2008, SAS Institute Inc. All rights reserved.

56

57

58

59 ODS Report Writing Interface

60 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface  Invoices  Form letters  Report is not rectangular in nature  Report is very data centric  Requires special conditional logic  Need to compute & display special summarization information  Need to add narrative information inside a table

61 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface data game; input HomeRank HomeTeam $4-15 HomeNickname $17-25 Homeone Hometwo Homeot VisitorRank VisitorTeam $38-49 VisitorNickname $52-60 Visitorone Visitortwo Visitorot Final; cards; 7 TEXAS LONGHORNS 30 44 0 24 KANSAS STATE WILDCATS 30 35 0 4 ;run; proc format; value game_status 1 = "1st“ 2 = "HALF“ 3 = "2nd“ 4 = "FINAL";run;

62 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface data _null_; set game; Dcl odsout obj(); obj.table_start(columns: 6 ); 123456

63 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.row_start(); obj.format_cell ( data: "Fred Bramlage Coliseum, Manhattan, KS", overrides: "font_size=10pt backgroundcolor=dark gray color=light gray", column_span: 6 ); obj.row_end(); 123456

64 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.format_cell(data: HomeRank, overrides: "backgroundcolor=dark gray color=light gray"); obj.format_cell(data: HomeTeam, overrides: "backgroundcolor=dark gray color=white"); obj.format_cell(data: Homeone+Hometwo+Homeot, column_span: 2); obj.format_cell(data: Final, format: "game_status", row_span: 2, column_span: 2 ); 123456

65 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.format_cell(data: VisitorRank); obj.format_cell(data: VisitorTeam ); obj.format_cell(data: Visitorone+Visitortwo+Visitort, overrides: “borderleftcolor = light gray bordertopcolor= light gray borderbottomcolor= light gray “); 123456

66 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.format_cell( data: " ", column_span: 2, overrides: "backgroundcolor=light gray"); obj.format_cell( data: “1” ); obj.format_cell( data: "2” ); obj.format_cell( data: "OT“ ); obj.format_cell( data: "T“ ); 123456

67 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.format_cell(data: HomeNickname, column_span:2 ); obj.format_cell(data: Homeone ); obj.format_cell(data: Hometwo ); obj.format_cell(data: Homeot ); obj.format_cell(data: Homeone+Hometwo+Homeot ); 123456

68 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.format_cell(data: VisitorNickname, column_span:2 ); obj.format_cell(data: Visitorone ); obj.format_cell(data: Visitortwo ); obj.format_cell(data: Visitorot ); obj.format_cell(data: Visitorone+Visitortwo+Visitorot ); 123456

69 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface obj.row_start(); obj.format_cell(data: "Attendance: N/A", column_span: 6, overrides: "vjust=bottom backgroundcolor=light gray"); obj.row_end(); obj.table_end(); 123456

70 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface

71 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface

72 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Report Writing Interface

73 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Graphics Architecture  Automatic Graphic Creation  Graph Template Language  New SAS/GRAPH Procedures  ODS Graphics Editor

74 Copyright © 2008, SAS Institute Inc. All rights reserved. Automatic Graphic Creation ods graphics on; /* bread and butter timeseries analysis graphics; */ proc timeseries data=sashelp.workers out=_NULL_ plot = all print=all; id date interval=month; var electric masonry; run;

75 Copyright © 2008, SAS Institute Inc. All rights reserved. Automatic Graphic Creation

76 Copyright © 2008, SAS Institute Inc. All rights reserved. Automatic Graphic Creation

77 Copyright © 2008, SAS Institute Inc. All rights reserved. Graph Template Language (GTL)  Proc Template  Sophisticated Analytical Graphs

78 Copyright © 2008, SAS Institute Inc. All rights reserved. Automatic Graphic Creation ods graphics on; ods trace on; /* bread and butter timeseries analysis graphics; */ proc timeseries data=sashelp.workers out=_NULL_ plot = histogram print=all; id date interval=month; var electric masonry; run;

79 Copyright © 2008, SAS Institute Inc. All rights reserved. Automatic Graphic Creation

80 Copyright © 2008, SAS Institute Inc. All rights reserved. Automatic Graphic Creation BeginGraph; EntryTitle TITLE; Layout Overlay / XAxisOpts=(label="Series" linearopts=( tickvalueformat=BEST12.)) yaxisopts=(label="Percent"); Histogram SERIES; DensityPlot SERIES / LegendLabel="Normal" name="Normal"; DensityPlot SERIES / Kernel () LegendLabel="Kernel" name="Kernel“ lineattrs=GRAPHFIT2; DiscreteLegend "Normal" "Kernel" / across=1 location=inside autoalign=(topright topleft top); EndLayout; EndGraph;

81 Copyright © 2008, SAS Institute Inc. All rights reserved. SAS/GRAPH Procedures  SGPLOT  SGSCATTER  SGPANEL  SGRENDER

82 Copyright © 2008, SAS Institute Inc. All rights reserved. Heat Map (SGPLOT)

83 Copyright © 2008, SAS Institute Inc. All rights reserved. Heat Map proc sgplot data=heatmap; scatter x=make y=type / group=group markerattrs=(size=.28in symbol=squarefilled); run;

84 Copyright © 2008, SAS Institute Inc. All rights reserved. Paneled Plots (SGPanel)

85 Copyright © 2008, SAS Institute Inc. All rights reserved. Paneled Plots (SGPanel) proc sgpanel data=cancer; panelby race sex / columns=5 layout=lattice novarname uniscale=column; hbar cause / response=incidence; colaxis grid label='Incidence per 100,000 People'; rowaxis grid label=' '; run;

86 Copyright © 2008, SAS Institute Inc. All rights reserved. Stacked Band Plots (SGPLOT)

87 Copyright © 2008, SAS Institute Inc. All rights reserved. Butterfly Plots (SGPLOT)

88 Copyright © 2008, SAS Institute Inc. All rights reserved. Paneled Butterfly Plots (SGPANEL)

89 Copyright © 2008, SAS Institute Inc. All rights reserved. More Paneled Plots

90 Copyright © 2008, SAS Institute Inc. All rights reserved. ODS Statistical Graphics Editor

91 Copyright © 2008, SAS Institute Inc. All rights reserved. Contact Information Dan O’Connor Dan.OConnor@sas.com ODS Development Team ODS@sas.com


Download ppt "Copyright © 2008, SAS Institute Inc. All rights reserved. SAS Graphics on ODS v9.2 Performance Enhancing Steroids Daniel O’Connor Systems Developer, SAS."

Similar presentations


Ads by Google