BookmarkSubscribeRSS Feed
tc
Lapis Lazuli | Level 10 tc
Lapis Lazuli | Level 10

leejanzen.png

 

With the 2022 SAS Championship golf tournament events kicking off Monday, here's a quick SAS ODS Graphics hole-by-hole, over/under par look at Lee Janzen's 2021 SAS Championship winning rounds, which got him into a playoff that he won on the first hole with yet another birdie.

 

*==> Fun With SAS ODS Graphics: Look at the Birdies! A Hole-by-Hole Look at SAS Championship 2021 Winner Lee Janzen's Rounds;

proc format;                                            * Format to print leading +/- for over/under par scores;
picture parFMT low-<0='000'(prefix='-') 0='9' 0<-high='000'(prefix='+');

data rounds (keep=round hole y score);                  * Get course pars (18 holes) and Janzen's scores (3 rounds x 18 holes);
infile cards firstobs=2;
array p {18} par1-par18; retain par1-par18;             * Arrays for pars, strokes for each hole; 
array s {18} strokes1-strokes18; 
if _n_=1 then do; input @11 par1-par18; delete; end;    * Get pars for each hole; 
input @11 strokes1-strokes18;                           * Get strokes for each hole in a round;
roundNum+1;                                             * Generate label with total score and over/under par for the round; 
round="ROUND "||compress(put(roundnum,1.))||': '||compress(put(sum(of strokes:),3.))||' ('||compress(put(sum(of strokes:)-sum(of par:),parFMT.))||')';
do Hole=1 to 18;                                        * Generate one observation per row with round, hole, over/under (y) and score; 
  y=s(Hole)-p(Hole);                                    * Over/under = score - par;
  score=s(Hole);                                         
  output; 
end;  
* Janzen's 2021 SAS Championship hole-by-hole scores (from pgatour.com/players/player.01577.lee-janzen.html/scorecards/s045);
cards;
HOLE      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
PAR       4  4  3  4  4  4  5  3  4  4  3  5  4  4  4  4  5  4
ROUND  1  4  4  2  4  4  4  4  2  3  3  3  4  3  4  6  5  4  4
ROUND  2  4  4  4  3  4  4  5  3  4  4  3  4  4  4  4  4  4  4
ROUND  3  5  3  3  4  4  4  5  2  4  3  3  5  3  4  3  4  5  3
;
proc sgpanel data=rounds noautolegend;                 * Generate scatter/text plots of hole-by-hole scores on a +/- par y-axis;
styleattrs backcolor=cx076652;                         * RGB code for "Masters Green" (colourlovers.com/color/076652/Masters_Green);
panelby round / headerbackcolor=cx076652 headerattrs=(color=white weight=bold) noheaderborder onepanel novarname uniscale=row 
                colheaderpos=top columns=1 spacing=5 nowall noborder;
title color=white "SAS Championship 2021 Winner Lee Janzen";
title2 color=white "Hole-by-Hole Scores and +/- Par";
refline 0 / axis=y lineattrs=(color=white);           * Par reference line at 0;
scatter x=hole y=y / markerattrs=(symbol=circlefilled color=white size=22pt); * White 'golf ball' markers at +/- par on y-axis;
text x=hole y=y text=score / textattrs=(color=cx076652 size=9pt weight=bold) strip vcenter=bbox position=center; * Display scores on markers;
colaxis display=(nolabel noticks noline) grid gridattrs=(color=white pattern=dot) valueattrs=(color=white) values=(1 to 18 by 1); * X-axis is hole numbers;
rowaxis display=(nolabel noticks noline) valueattrs=(color=white) values=(-2 to 2 by 1) valuesformat=parFMT.; * Y-axis is shots over/under/par;
footnote height=8pt color=white "Data Source: pgatour.com/players/player.01577.lee-janzen.html/scorecards/s045";

 

 

 

 

 

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 0 replies
  • 758 views
  • 5 likes
  • 1 in conversation