%let name=chrysler_fiat; filename odsout '.'; /* SAS/Graph imitation of p. 91 from ... http://www.treasury.gov/initiatives/eesa/agreements/auto-reports/ChryslerRestructuringPlan.pdf */ goptions nodisplay; GOPTIONS DEVICE=png; goptions cback=white; goptions ftitle="arial/bold" ftext="arial/bold" gunit=pct htitle=6 htext=4.1 ctext=gray33; goptions xpixels=115 ypixels=215; data bardata; length region $13 company $30; format share comma5.1; region='North America'; company='Chrysler'; share=11.0; output; company='Fiat'; share=0.001; output; company='Combined'; share=11.0; output; region='Europe'; company='Chrysler'; share=0.5; output; company='Fiat'; share=7.5; output; company='Combined'; share=8.0; output; region='Asia'; company='Chrysler'; share=0.2; output; company='Fiat'; share=0.1; output; company='Combined'; share=0.3; output; region='South America'; company='Chrysler'; share=0.7; output; company='Fiat'; share=18.2; output; company='Combined'; share=18.8; output; run; data bardata; set bardata; length myhtml $100; myhtml='href="chrysler_info.htm" title='||quote( trim(left(region))||' '||'0d'x||trim(left(company))||': '||trim(left(put(share/100,percent7.1))) ); run; data data5; company='Chrysler'; share=2; output; company='Fiat'; share=2.5; output; run; data data5; set data5; length myhtml $100; myhtml='href="chrysler_info.htm" title='||quote( trim(left(company))||': '||trim(left(put(share,comma5.1)))||' million units' ); run; axis2 label=none value=(angle=70) order=('Chrysler' 'Fiat' 'Combined'); pattern1 v=s c=cx4278bb; /* blue */ pattern2 v=s c=cx8442a5; /* purple */ pattern3 v=s c=cxbf0001; /* red */ footnote h=4 " "; title1 "North America"; title2 angle=90 h=5 " "; title3 angle=-90 h=5 " "; axis1 major=none minor=none label=none value=none order=(0 to 11); proc gchart data=bardata (where=(region="North America")); vbar3d company / type=sum sumvar=share outside=sum subgroup=company raxis=axis1 maxis=axis2 noframe noplane nolegend ref=0 frontref cref=gray55 coutline=gray77 html=myhtml name="bar1"; run; title1 "Europe"; title2 angle=90 h=5 " "; title3 angle=-90 h=5 " "; axis1 major=none minor=none label=none value=none order=(0 to 10); proc gchart data=bardata (where=(region="Europe")); vbar3d company / type=sum sumvar=share outside=sum subgroup=company raxis=axis1 maxis=axis2 noframe noplane nolegend ref=0 frontref cref=gray55 coutline=gray77 html=myhtml name="bar2"; run; title1 "Asia"; title2 angle=90 h=5 " "; title3 angle=-90 h=5 " "; axis1 major=none minor=none label=none value=none order=(0 to .8 by .4); proc gchart data=bardata (where=(region="Asia")); vbar3d company / type=sum sumvar=share outside=sum subgroup=company raxis=axis1 maxis=axis2 noframe noplane nolegend ref=0 frontref cref=gray55 coutline=gray77 html=myhtml name="bar3"; run; title1 "South America"; title2 angle=90 h=5 " "; title3 angle=-90 h=5 " "; axis1 major=none minor=none label=none value=none order=(0 to 20); proc gchart data=bardata (where=(region="South America")); vbar3d company / type=sum sumvar=share outside=sum subgroup=company raxis=axis1 maxis=axis2 noframe noplane nolegend ref=0 frontref cref=gray55 coutline=gray77 html=myhtml name="bar4"; run; goptions xpixels=250 ypixels=400; pattern1 v=s c=cx4278bb; /* blue */ pattern2 v=s c=cxbf0001; /* red */ goptions htitle=7 htext=5 ctext=white; title1 ls=1.2 "Total Volume"; title2 "(millions)"; title3 angle=90 h=3 " "; title4 angle=-90 h=3 " "; axis1 major=none minor=none label=none value=none order=(0 to 2.5 by .5); axis2 label=none; proc gchart data=data5; vbar3d company / type=sum sumvar=share inside=sum subgroup=company raxis=axis1 maxis=axis2 noframe noplane nolegend ref=0 frontref cref=gray99 coutline=graybb html=myhtml name="bar5"; run; goptions ctext=gray33; data piedata; length region $13 company $30; format sales_pct comma5.1; company='Chrysler'; region='North America'; sales_pct=90.4; output; region='South America'; sales_pct=1.5; output; region='Europe'; sales_pct=5.5; output; region='Asia'; sales_pct=2.5; output; region='Africa'; sales_pct=0.1; output; company='Fiat'; region='North America'; sales_pct=0.1; output; region='South America'; sales_pct=33.3; output; region='Europe'; sales_pct=65.2; output; region='Asia'; sales_pct=1.0; output; region='Africa'; sales_pct=0.4; output; run; data piedata; set piedata; length myhtml $100; myhtml='href="chrysler_info.htm" title='||quote( trim(left(region))||' '||'0d'x||trim(left(company))||': '||trim(left(put(sales_pct/100,percent7.1))) ); run; data pieanno; set piedata; xsys='2'; ysys='2'; when='a'; function='label'; text=trim(left(put(sales_pct,comma5.1))); midpoint=region; x=sales_pct; if x<20 then do; x=x+8; position='c'; end; else do; x=x-1; position='4'; end; run; data pie3data; length region $13 company $30; format sales_pct comma5.1; company='Combined (Chrysler+Fiat)'; region='North America'; sales_pct=40.2; output; region='South America'; sales_pct=18.3; output; region='Europe'; sales_pct=39.4; output; region='Asia'; sales_pct=1.7; output; region='Africa'; sales_pct=0.4; output; run; data pie3data; set pie3data; length myhtml $100; myhtml='href="chrysler_info.htm" title='||quote( trim(left(region))||' '||'0d'x||trim(left(company))||': '||trim(left(put(sales_pct/100,percent7.1))) ); run; data pie3anno; set pie3data; xsys='2'; ysys='2'; when='a'; function='label'; text=trim(left(put(sales_pct,comma5.1))); midpoint=region; x=sales_pct; if x<15 then do; x=x+4; position='c'; end; else do; x=x-.5; position='4'; end; run; /* Downloaded Chrysler & Fiat logos from here: http://www.underconsideration.com/brandnew/archives/chrysler_detail.gif http://www.coventryfiat.co.uk/images/fiat-logo.gif Converted them to transparent-background gif here: http://stuff.mit.edu/tweb/map.html */ data pie1title; function='label'; position='2'; when='a'; hsys='3'; size=7; xsys='1'; ysys='1'; x=55; y=100; text='Chrysler'; output; xsys='1'; ysys='1'; function='move'; x=70; y=70; output; function='image'; x=x+32; y=y+35; imgpath='./chrysler_logo.gif'; style='fit'; output; output; run; data pie2title; function='label'; position='2'; when='a'; hsys='3'; size=7; xsys='1'; ysys='1'; x=55; y=100; text='Fiat'; output; xsys='1'; ysys='1'; function='move'; x=70; y=70; output; function='image'; x=x+30; y=y+35; imgpath='./fiat_logo.gif'; style='fit'; output; output; run; goptions htext=6; title " "; footnote " "; /* pattern1 v=solid c=cxf7ef08; pattern2 v=solid c=cx00E5EE; pattern3 v=solid c=cx9c0008; pattern3 v=solid c=cx629632; pattern4 v=solid c=cx0021ad; pattern5 v=solid c=cxde6300; */ pattern1 v=solid c=cx66c2a5; pattern2 v=solid c=cxffd92f; pattern3 v=solid c=cxa6d854; pattern4 v=solid c=cxfc8d62; pattern5 v=solid c=cxe5c494; axis1 c=graydd minor=none label=none value=none order=(0 to 100 by 20); goptions xpixels=293 ypixels=195; axis2 c=graydd label=none value=(justify=right color=gray33); proc gchart data=piedata (where=(company="Chrysler")) anno=pieanno (where=(company="Chrysler")); hbar3d region / type=sum sumvar=sales_pct subgroup=region raxis=axis1 maxis=axis2 noframe nolegend nostats autoref cref=graycc coutline=gray77 html=myhtml anno=pie1title name="pie1"; run; goptions xpixels=208 ypixels=195; axis2 c=graydd label=none value=none; proc gchart data=piedata (where=(company="Fiat")) anno=pieanno (where=(company="Fiat")); hbar3d region / type=sum sumvar=sales_pct subgroup=region raxis=axis1 maxis=axis2 noframe nolegend nostats autoref cref=graycc coutline=gray77 html=myhtml anno=pie2title name="pie2"; run; goptions xpixels=520 ypixels=246; axis1 major=none minor=none label=none value=none order=(0 to 50 by 10); axis2 c=graydd label=none value=(justify=right color=gray33); goptions htitle=7 htext=5.5; title1 "Regional Balance of Combined Companies"; proc gchart data=pie3data anno=pie3anno; hbar3d region / type=sum sumvar=sales_pct subgroup=region raxis=axis1 maxis=axis2 nopane noframe nolegend nostats ref=0 frontref cref=gray55 coutline=gray77 html=myhtml name="pie3"; run; goptions xpixels=350 ypixels=525; goptions xpixels=385 ypixels=578; goptions xpixels=420 ypixels=630; data gslanno1; lengty function $8 style $20 color $10; xsys='3'; ysys='3'; when='b'; function='move'; x=0; y=91; output; function='bar'; style='solid'; color='cx133533'; x=100; y=100; output; /* world map image in background */ function='move'; x=0; y=0; output; function='image'; x=100; y=85; imgpath='./world.gif'; style='fit'; output; /* Draw a dark area behind bar5 (coordinates must correspond with greplay template coords) */ function='move'; x=56; y=1; output; function='bar'; style='solid'; color='gray55'; x=99; y=41; output; run; title1 h=3.0pct font="arial/bold" c=white ls=1.1 "Chrysler's core presence in North America"; title2 h=3.0pct font="arial/bold" c=white "and Fiat's in Europe and South America"; title3 h=2.5pct font="arial/bold" " "; title4 h=3.0pct font="arial/bold" "MARKET SHARE BY REGION"; proc gslide anno=gslanno1 name="slide1"; run; goptions xpixels=650 ypixels=630; data gslanno2; lengty function $8 style $20 color $10; xsys='3'; ysys='3'; when='b'; function='move'; x=0; y=91; output; function='bar'; style='solid'; color='cx133533'; x=100; y=100; output; function='move'; x=0; y=0; output; function='bar'; style='solid'; color='cxebe7e2'; x=100; y=85; output; function='move'; x=0; y=9; output; function='draw'; color='black'; x=100; output; run; title1 h=3.0pct font="arial/bold" c=white ls=1.1 "Alliance provides platform to jointly penetrate Asia"; title2 h=3.0pct font="arial/bold" c=white "from position of strength"; title3 h=2.5pct font="arial/bold" " "; title4 h=3.0pct font="arial/bold" "% SALES BY REGION"; footnote1 h=3.0 font="arial" "Fiat Financial Services May Provide Significant Benefits"; footnote2 h=3.0 font="arial" "For Chrysler International"; footnote3 h=1 " "; proc gslide anno=gslanno2 name="slide2"; run; goptions display; goptions cback=white; goptions border; ODS LISTING CLOSE; %let panelcolumns=3; ods tagsets.htmlpanel path="." (url=none) file="&name..htm" (title="Chrysler/Fiat geographic presence (Feb 2009) - SAS/Graph imitation of their original dashboard") style=minimal; ods tagsets.htmlpanel event = panel(start); goptions xpixels=350 ypixels=525; goptions xpixels=385 ypixels=578; goptions xpixels=420 ypixels=630; proc greplay tc=tempcat nofs igout=work.gseg; tdef left des='Left' 0/llx = 0 lly = 0 ulx = 0 uly = 100 urx =100 ury = 100 lrx =100 lry = 0 1/llx = 1 lly = 42 ulx = 1 uly = 83 urx =34 ury = 83 lrx =34 lry = 42 2/llx =34 lly = 42 ulx =34 uly = 83 urx =67 ury = 83 lrx =67 lry = 42 3/llx =67 lly = 42 ulx =67 uly = 83 urx =100 ury = 83 lrx =100 lry = 42 4/llx =10 lly = 0 ulx =10 uly = 41 urx =43 ury = 41 lrx =43 lry = 0 5/llx =56 lly = 1 ulx =56 uly = 41 urx =99 ury = 41 lrx =99 lry = 1 color=graycc ; template = left; treplay 0:slide1 1:bar1 2:bar2 3:bar3 4:bar4 5:bar5 des='' name="&name"; run; goptions xpixels=650 ypixels=630; proc greplay tc=tempcat nofs igout=work.gseg; tdef right des='Right' 0/llx = 0 lly = 0 ulx = 0 uly = 100 urx =100 ury = 100 lrx =100 lry = 0 1/llx = 5 lly = 52 ulx = 5 uly = 83 urx =50 ury = 83 lrx =50 lry = 52 2/llx =58 lly = 52 ulx =58 uly = 83 urx =90 ury = 83 lrx =90 lry = 52 3/llx =10 lly = 10 ulx =10 uly = 49 urx =90 ury = 49 lrx =90 lry = 10 ; template = right; treplay 0:slide2 1:pie1 2:pie2 3:pie3 des='' name="&name"; run; ods tagsets.htmlpanel event = panel(finish); quit; ods _all_ close;