多值参数ssrs性能问题

时间:2016-08-04 14:30:01

标签: reporting-services ssrs-2012 reportbuilder3.0

所以我在Reportbuilder 2012 3.0中做了一个报告。我的一个参数有数千个值,我可以单独选择或一次性选择。问题是,当我想选择它需要非常长的时间来加载。此外,当我选择一些时,加载报告需要花费相当长的时间。有没有办法让表现更好?我真的需要列表中的所有内容。

2 个答案:

答案 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