SSRS中空参数为空参数

时间:2014-01-29 15:29:12

标签: reporting-services

我有一个向下钻取报告,其参数为:父报告 - @valid Nvarchar(20)='',在子报告中 - @valid Nvarchar(20)= Null。

这两个报告都运行得很好,但在文本框属性>中映射此参数后我遇到了问题。行动>转到报告。运行报告时,我收到错误

“为报告参数提供的值无效”

此报告的查询来自存储过程。在子报告参数属性中,我勾选了“允许空值”文本框,设置可用参数来自查询并指定来自查询的默认值。允许返回错误我做错了什么?感谢您的帮助。

谢谢。

3 个答案:

答案 0 :(得分:10)

如果你的第二个报告是期望NULL值(即SSRS中的Nothing),你可以根据父参数将基于表达式的参数传递给子报告,确保它是一个父级别的空字符串,您可以将其显式设置为Nothing:

=IIf(Parameters!valid.Value = "", Nothing, Parameters!valid.Value)

这样,空字符串永远不会被传递,您的孩子会报告;只有它期望的NULL值。

答案 1 :(得分:1)

如果您正在考虑从URL传递null参数,让我们说某种CLI,您必须在URL的参数部分中包含参数:isNull = True 。并且总是在报告编辑器,参数属性中检查“允许空值”。

假设我们有一份关于体育和体育场馆的报告,我们有一项无效的运动...它会是这样的>

http://<server/report>&rs:Command=Render&rc:Parameters=false&rc:toolbar=false&sport:isNull=True&stadium=CampNou

答案 2 :(得分:0)

将参数设置为Allow Blank = YesDefault Value = ""。在代码中为空白参数留出余量。