SELECT Year, Month, OrderNum AS M_Orders, SUM(OrderNum) OVER (PARTITION BY Year ORDER BY Month) AS Run_M_Orders, 100*ROUND(OrderNum / SUM(OrderNum) OVER (PARTITION BY Year),4) AS Pctg_Y_Orders, 100*ROUND(SUM(OrderNum) OVER (PARTITION BY Year ORDER BY Month) / SUM(OrderNum) OVER (PARTITION BY Year),4) AS Pctg_Run_M_Orders FROM ( SELECT calendaryear Year, monthnumberofyear Month, COUNT(DISTINCT orderkey) AS OrderNum FROM factonlinesales fos INNER JOIN dimdate dd ON fos.orderdatekey= dd.datekey GROUP BY calendaryear, calendarquarter, monthnumberofyear ) ORDER BY 1, 2, 3 ;