Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 在SSRS多选参数中仅启用两个值的选择_Reporting Services - Fatal编程技术网

Reporting services 在SSRS多选参数中仅启用两个值的选择

Reporting services 在SSRS多选参数中仅启用两个值的选择,reporting-services,Reporting Services,我有一个SSRS报告,其中有一个下拉列表中的参数,它是一个多选参数,现在我希望用户最多只能从下拉列表中选择两个值 这是不可能的。多选参数就是那个:一个允许您选择多个值的参数 如果您总是只有两个值需要选择,实现这一点的最简单方法是将两个单值参数标记为value 1和value 2,然后在您的报告查询中引用这两个参数。尽管您无法阻止用户选择两个以上的值,如果他们这样做,您可以阻止报告显示。首先,我在报告顶部创建了一个红色文本框,其中包含一条错误消息。比如: 您为ReportParameter1选择了

我有一个SSRS报告,其中有一个下拉列表中的参数,它是一个多选参数,现在我希望用户最多只能从下拉列表中选择两个值

这是不可能的。多选参数就是那个:一个允许您选择多个值的参数


如果您总是只有两个值需要选择,实现这一点的最简单方法是将两个单值参数标记为
value 1
value 2
,然后在您的报告查询中引用这两个参数。

尽管您无法阻止用户选择两个以上的值,如果他们这样做,您可以阻止报告显示。首先,我在报告顶部创建了一个红色文本框,其中包含一条错误消息。比如:

您为ReportParameter1选择了两个以上的值,请重试

然后,我使用一个表达式(用于隐藏)将此消息的可见性设置为
=(Parameters!ReportParameter1.Count2)
。请注意,您可以简单地将所有内容放在一个矩形中,然后隐藏该矩形


如果用户选择了两个以上的参数,则仅显示红色错误消息。如果他们选择两个或更少,一切看起来都正常。我还将以这样的方式编写您的存储过程:如果用户为参数选择太多的值,它将不会返回任何数据。

正如@Kyle Williamson在其回答中所建议的,有一些解决方法,但没有确切的答案,因为SSRS中不存在此功能

您建议的方法是一个很好的解决方法,我已经实施了相同的方法,但我正在寻找一种方法,可以在选择两个值和“全选”后禁用其他参数值选项应始终禁用。幸运的是,正如@iamdave所述,您当前无法更改多选参数的工作方式。目前无法禁用“全选”选项。这一切都是reporting services工作方式中固有的。我认为,如果您的参数或其他情况下的我的版本正好有两个值,那么iamdave的解决方案将是您的最佳选择。