6 %let comp_keys = Game_SK Inning Top_Bot AB_Number ;
7 %let data_vars = Batter_ID Is_A_Hit Result ;
8 %let data_list = %sysfunc (tranwrd (&data_vars, %str( ), %str(,))) ;
10 data Join_Runs_AtBats (drop = _: Runs) ;
12 dcl hash h (multidata:
"Y", ordered:
"A") ;
13 do _k = 1 to countw (
"&comp_keys") ;
14 h.defineKey (scan (
"&comp_keys", _k)) ;
16 do _k = 1 to countw (
"&data_vars") ;
17 h.defineData (scan (
"&data_vars", _k)) ;
21 set dw.AtBats (keep=&comp_keys &data_vars Runs
22 where=(Runs)) end = LR ;
27 call missing (&data_list, _count) ;
28 do while (h.do_over() = 0) ;
29 _count = sum (_count, 1) ;
32 if not _count then output ;