我在SQL Reporting Services(SSRS)中有一个报告,它从SQL Analysis Services(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行和几列) )?
答案 0 :(得分:0)
您是否比较了SSMS和SSRS生成的查询是否相同?那将是我的下一步。众所周知,当通过拖放设计器构建数据集时,SSRS有时会生成非常低效的查询。