首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSRS选择所有导致URL超过最大长度

SSRS选择所有导致URL超过最大长度
EN

Stack Overflow用户
提问于 2013-08-19 01:39:14
回答 1查看 2.4K关注 0票数 0

我有大约250个项目的I约6-7字符长。我把它们组织成3个班级,每个班有大约8个子类。当使用报表时,用户将能够使用级联下拉列表来筛选项目列表。但是,当报表最初加载时,用户希望所有项目都是可见的。

报表参数通过URL传递给web服务,web服务将为我检索数据。

我已将items report参数设置为multiselect,但已手动将值"All“添加为默认参数,并使用以下查询在资源列表中将"All”作为选项:

代码语言:javascript
复制
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”作为项的参数时,它不会过滤任何项,并将完整的列表发送给报表。

我在这个设置上有一些问题

  1. “所有”选项似乎隐藏在我的项目列表中。也就是说,(Select )是第一个,后面是数字项目,后面是'All',然后是字母项目。
  2. ( selected )项仍然出现在列表中,因为如果用户选择它,那么它是一个多选择参数广告,所有250个条目都被选中,而我收到了最大URL字符错误。

那么,是否有一种简单的方法允许从该项目列表中进行多项选择(在合理的情况下,即最大10项,这将使我保持URL错误),禁用(Select )选项,并将我的自定义'All‘选项移到列表的顶部?

EN

回答 1

Stack Overflow用户

发布于 2013-08-20 06:43:20

我觉得你能把所有的都处理掉。您需要操作"SELECT ALL“的行为,以像ALL一样运行,即在您的URL中没有应用过滤器。您可以做的方法是计数数据集中的行,并将其与参数计数选择进行比较。

类似于:

代码语言:javascript
复制
=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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18305369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档