我在这里遇到困难,使用SSRS并尝试将其他人的NULL值从多值参数提供给用于数据集的存储过程。
用户在报告的多值参数中选择的值将被提供给存储过程中的单个输入参数。例如,名为@Color的多值下拉菜单可以将“红色”,“白色”和“蓝色”输入到存储过程的“@ColorList”参数中。存储过程使用SQL语句构建函数的参数并给出结果集。除了值之外,我想将NULL值添加到多值参数,因为有些记录没有Color值。
不幸的是,我没有权限修改存储过程,所以我无法使用ISNULL(值,'')解决方法或使用'IN'语法更改任何内容。存储过程正在报告中执行如下:
EXEC StoredProc
@Name = @Name
@ColorList = @Color
使用JOIN表达式传递@Color
=JOIN(Parameters!Color.Value,",")
有什么建议吗?
答案 0 :(得分:1)
听起来你很好地处理了你的情况:你不能将NULL的值作为参数传递,因为NULL根本不是一个值而且没有值。你可以传递字符串“NULL”作为参数@color,但你可能最好创建一个颜色鲜明的命名(我们应该说,与众不同?)独特的变量,例如{{1只是为了保持清晰。