Classes acessando Classes em Relatorios?

Galera é o seguinte:

Estou fazendo um relatorio balaço por mes.
A cada mes tem que somar um total de horas, até ae tranquilo.

O campo que será mostrado no relatorio, será uma formula que chamara um classes responsavel por montar um vetor de [1][12], contendo as horas de cada mes, para um determinado cliente por exemplo.

Dentro dessa classe, dependendo da caracteristica do registro da tabela, chamarei um segunda classe, responsavel por quebrar essas horas caso o intevalo do registro esteja entre meses diferentes.

O meu problema é que isso esta ficando muito lerdo. Queria saber se existe alguma maneira de otimizar essa estrutura. Imagina uma tabela com milhares de registro? Demoraria uma semana para vizualizar.

Alguem já fez algo parecido?