As featured in: Data Management Solutions Using SAS Hash Table Operations: A Business Intelligence Case Study , and built from this github repository.
AtBats.sas
1 /* "AtBats.sas" from the SAS Press book
2  Data Management Solutions Using SAS Hash Table Operations:
3  A Business Intelligence Case Study
4 */
5 
6 proc sql;
7  create table TEMPLATE.ATBATS
8  (
9  Game_SK char(16) format=$HEX32. label = "Game Surrogate Key",
10  Date num format=YYMMDD10. label = "Game Date",
11  Time num format=TIMEAMPM8. label = "Game Time",
12  League num label = "League",
13  Home_SK num label = "Home Team Surrogate Key",
14  Away_SK num label = "Away Team Surrogate Key",
15  Team_SK num label = "Team Surrogate Key",
16  Batter_ID num label = "Batter ID",
17  First_Name char(12) label = "Batter First Name",
18  Last_Name char(12) label = "Batter Last Name",
19  Position_Code char(3) label "Batter Position",
20  Inning num label = "Inning",
21  Top_Bot char(1) label = "Which Half Inning",
22  Bats char(1) informat=$1. label = "Bats L, R or Switch",
23  Throws char(1) informat=$1. label = "Throws L or R",
24  AB_Number num label = "At Bat Number in Game",
25  Result char(16) label = "Result of the At Bat",
26  Direction num label='Hit Direction',
27  Distance num label = 'Hit Distance',
28  Outs num label = "Number of Outs",
29  Balls num label = "Number of Balls",
30  Strikes num label = "Number of Strikes",
31  onFirst num label = "ID of Runner on First",
32  onSecond num label = "ID of Runner on Second",
33  onThird num label = "ID of Runner on Third",
34  onBase num label = "Number of Men on Base at Beginning of AB",
35  Left_On_Base num label = "Number of Men Left on Base at End of AB",
36  Runs num label = "Runs Scored",
37  Is_An_AB num label = "Counts as an AB",
38  Is_An_Out num label = "Is an Out",
39  Is_A_Hit num label = "Is a Hit",
40  Is_An_OnBase num label = "Counts as an On Base",
41  Bases num label = "Number of Bases for the Hit",
42  Number_of_Pitches num label = "Number of Pitches This AB"
43  );
44 quit;