所以我在Reportbuilder 2012 3.0中做了一个报告。我的一个参数有数千个值,我可以单独选择或一次性选择。问题是,当我想选择它需要非常长的时间来加载。此外,当我选择一些时,加载报告需要花费相当长的时间。有没有办法让表现更好?我真的需要列表中的所有内容。
答案 0 :(得分:2)
考虑使用级联参数来缩小最终用户选择的参数列表中的值。如果您要呈现的参数数据具有类别,则创建一个参数,其中包含在您引用的列表之前向最终用户显示的类别列表。当最终用户选择一个类别时,根据该选择过滤下一个参数列表。
-- Category parameter SQL
SELECT DISTINCT category FROM tblParams;
-- Main parameter SQL
SELECT code, name FROM tblParams WHERE category = @Category;
如果您的参数数据没有类别,请查看是否还有其他任何可用于过滤的内容。领土,地区,代表名称,名称中的第一个字母......某事。
请确保首先在报表设计器的参数列表中列出要过滤其他参数的参数。
祝你好运!
答案 1 :(得分:0)
可以大幅提高具有大量(5+)参数的报表的方法如下:
select * into #mytable
from (select
field1,
field2,
field3,
...
from
table1
join
join
more joins
where
(optional hard-coded criteria)
) as x
select * from #mytable
where
field1 in (@param1)
and field2 in (@param2)
and field3 in (@param3)
...
drop table #mytable