1

在这里,我使用SSRS并尝试将其他值从一个多值参数提供给用于数据集的存储过程的NULL值。SSRS - 将值传递给多值参数

用户在报表的多值参数中选择的值将被馈送到存储过程中的单个输入参数。例如,称为@Color的多值下拉菜单可将“红色”,“白色”和“蓝色”提供给存储过程的“@ColorList”参数。存储过程使用SQL语句构建函数的参数并给出结果集。除了值之外,我想将NULL值添加到多值参数,因为某些记录没有Color值。

不幸的是,我没有修改存储过程的权限,所以我不能使用ISNULL(Value,'')解决方法或用'IN'语法改变任何东西。使用JOIN表达式

=JOIN(Parameters!Color.Value,",") 

任何建议

EXEC StoredProc 
@Name = @Name 
@ColorList = @Color 

@Color被传递:存储过程在报告如下被执行?

+1

请看看这个类似的线程 http://stackoverflow.com/questions/12917261/optional-multi-valued-parameters-in-ssrs/12931993#12931993 – Aftab

+0

谢谢,但不幸的是这涉及修改数据集,我没有修改存储过程的权限。它看起来像我将不得不联系开发人员,并让他修改SP并用值替换NULL。 (ISNULL解决方案) – dp3

回答

1

听起来好像你很好地处理了你的情况:你不能将NULL的值作为参数传递,因为NULL不是一个值,也没有任何价值。你可能传递字符串“NULL”作为参数@color,但你可能会更好地创建一个鲜艳的名字(我们应该说,独特?)独特的变量,如noColor只是为了保持清楚。