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 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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