Cómo get resultados poblados mes a mes usando consulta de acceso ms

Tengo una table que tiene la siguiente estructura:

PID Year Month LOB Contracts 

Ahora quiero mostrar una sola fila como salida con LOB seleccionado y debe tener 12 columnas como salida, cada una para cada mes (este año). En este momento estoy usando una consulta que es demasiado larga y que está aumentando el time total. ¿Alguien puede sugerir una mejor manera de abordar este tipo de problema?

Creo que estás buscando esto:

 TRANSFORM COUNT([Contracts]) SELECT [LOB] FROM [Table] WHERE [Year]=2016 AND [LOB]='xxx' GROUP BY [LOB] PIVOT [Month] IN (1,2,3,4,5,6,7,8,9,10,11,12) 

Para responder a su comentario, si quiere 2 años, intente esto:

 TRANSFORM COUNT([Contracts]) SELECT [LOB] FROM [Table] WHERE [Year] IN (2015,2016) AND [LOB]='xxx' GROUP BY [LOB] PIVOT ([Year] & '-' & [Month]) IN ( '2015-1','2015-2','2015-3','2015-4','2015-5','2015-6','2015-7','2015-8','2015-9','2015-10','2015-11','2015-12', '2016-1','2016-2','2016-3','2016-4','2016-5','2016-6','2016-7','2016-8','2016-9','2016-10','2016-11','2016-12' )