En esta consulta DECLARE @Ventas table (Anio int, Mes int, Monto decimal(9,2));
INSERT INTO @Ventas VALUES
(2015, 1, 100), (2015, 1, 200), (2016, 1, 300), (2016, 1, 400),
(2015, 2, 100), (2016, 2, 200);
SELECT
--GROUPING(Anio) AS [GROUPING(Anio)],
--GROUPING(Mes) AS [GROUPING(Mes)],
CASE
WHEN (GROUPING(Anio) = 1) THEN 'GRAN TOTAL'
WHEN (GROUPING(Mes) = 1) THEN CONCAT('TOTAL ', Anio)
ELSE CONVERT(nvarchar(4), Anio) END AS 'Año',
Mes,
SUM(Monto) AS 'Monto Mensual'
FROM
@Ventas
GROUP BY
ROLLUP (Anio, Mes)