En primer lugar, no tiene una consulta "agrupar por", por lo que puede eliminarla.
Un MV sería más útil si necesitara volver a calcular todo de los datos de todos los años. Como esto parece ser un resumen, sin necesidad de volver a procesar los datos antiguos, actualizado solo cuando se superan ciertas fechas límite, como el final del año, recomendaría colocar los resultados en una tabla normal y solo agregar las actualizaciones tan a menudo como las fechas límite. ocurren (¿anualmente?) usando un procedimiento almacenado. De lo contrario, su MV tardará más en ejecutarse y requerirá más recursos del sistema con cada ejecución que agregue una nueva fecha.