У меня есть отчет в службах отчетов SQL (SSRS), который извлекает данные из куба служб анализа SQL (SSAS).У куба есть два важных измерения - время и активность, которые связаны между собой (это отчет об активности с течением времени).Измерение действия имеет единственный уникальный ключ и атрибуты, чтобы указать, кто выполнил действие.Мерами являются простые подсчеты и проценты видов деятельности и их результатов.
Отчет выглядит примерно так:
Report for user: xyx
Report Period: 1/1/2011 - 3/1/2011
Type of Activity | Submitted | Completed | Success Rate
Type 1 | 50 | 20 | 40%
--------------------------------------------------------
Type 2 | 50 | 20 | 40%
--------------------------------------------------------
Type 3 | 50 | 20 | 40%
--------------------------------------------------------
Type 4 | 50 | 20 | 40%
--------------------------------------------------------
Type 5 | 50 | 20 | 40%
--------------------------------------------------------
Total | 250 | 100 | 40%
Если я просматриваю куб в SQL Management Studio, я получаю результаты за доли секунды.В SSRS генерация занимает более 7 минут.Журнал выполнения для SSRS показывает время, довольно равномерно разделенное при извлечении / обработке / рендеринге:
> TimeDataRetrieval TimeProcessing TimeRendering
> 170866 142324 154689
Я подозреваю, что это связано с тем, как фильтруется отчет, но я не знаю, как это исследовать.
Что мне следует посмотреть дальше, чтобы понять, почему SSRS, по-видимому, занимает так много времени, когда просмотр в SSAS действительно быстрый (а реальные отчеты не намного больше моего образца, еще 3 строки иеще несколько столбцов)?