ммм... решение:
построение Olap-куба (1 день работы максимум) и получение требуемых вам данных в любом срезе с какой угодно сортировкой за 1-3 секунды считается или это неспортивно?
Указанный кубик можно встроить в форму системы, если внешние прилады не приветствуются.