我有大约250个项目的I约6-7字符长。我把它们组织成3个班级,每个班有大约8个子类。当使用报表时,用户将能够使用级联下拉列表来筛选项目列表。但是,当报表最初加载时,用户希望所有项目都是可见的。
报表参数通过URL传递给web服务,web服务将为我检索数据。
我已将items report参数设置为multiselect,但已手动将值"All“添加为默认参数,并使用以下查询在资源列表中将"All”作为选项:
SELECT 'All' as ItemID
UNION
SELECT itemID as ItemID
FROM (SELECT DISTINCT itemID
FROM itemMaster
WHERE (itemSubClass IN (@itemSubClass)) and itemClass IN (@itemClass))
ORDER BY itemID) as derivedtbl_1当我的程序逻辑检测到“All”作为项的参数时,它不会过滤任何项,并将完整的列表发送给报表。
我在这个设置上有一些问题
那么,是否有一种简单的方法允许从该项目列表中进行多项选择(在合理的情况下,即最大10项,这将使我保持URL错误),禁用(Select )选项,并将我的自定义'All‘选项移到列表的顶部?
发布于 2013-08-20 06:43:20
我觉得你能把所有的都处理掉。您需要操作"SELECT ALL“的行为,以像ALL一样运行,即在您的URL中没有应用过滤器。您可以做的方法是计数数据集中的行,并将其与参数计数选择进行比较。
类似于:
=iif(Parameters!ItemID.Count=CountRows("ItemIDDataset"),"ALL",JOIN(Parameters!ItemID.Value, ", "))如果您删除了"ALL“选项,那么在进行计数比较时,请确保。
下面是一些有用的文章来解释这种情况。
http://www.mssqltips.com/sqlservertip/2844/working-with-multiselect-parameters-for-ssrs-reports/
http://dataqueen.unlimitedviz.com/2011/06/how-to-default-to-all-in-an-ssrs-multi-select-parameter/
HTH
https://stackoverflow.com/questions/18305369
复制相似问题