Hi All, I need you suggestions to make my logic little efficient/faster since I am dealing with HUGE data. I have one big table on which I am calculating average of a column twice (see below avgone and avgtwo dataset) by two different by groups. Now I would like to add these two columns avg1 and avg2 back with big table (left join/master table) which has different by group to join with. I know I can do it in several proc sql steps but can I do it in one step of proc sql/data step or preferably hash programming which is faster than several proc sqls? Thanks in advance for your help. /*master table*/ data big; input A1 A2 A3 A4 Rank revenue ; cards; 1 1 1 1 1 100 1 1 1 1 2 120 1 1 2 1 3 90 1 1 2 1 4 12 1 1 3 2 1 100 1 1 3 2 2 107 1 1 3 3 3 198 1 1 3 4 4 87 1 1 4 4 5 18 1 1 4 5 6 54 1 1 4 5 7 178 ; run; /* average with different by group */ proc sql; create table avgone as select a1, a2, a3 , avg(revenue) as avg1 from big group by a1,a2,a3; quit; /* average with different by group */ proc sql; create table avgtwo as select a1, a2, a4 , avg(revenue) as avg2 from big group by a1,a2,a4; quit; /* Now join avgone and avgtwo back with big table */
... View more