【问题标题】:SSRS Report parameters cannot pass empty values to stored procedureSSRS 报表参数不能将空值传递给存储过程
【发布时间】:2022-11-26 16:57:33
【问题描述】:

我有一份 SSRS 报告。当我单击“查看报告”按钮时,会考虑所有存在的过滤器来显示所有记录。

我有下拉报告参数,它是“位置”的不同值。一切正常,但是当“Location”为空值时,它就无法工作。

当我单击“查看报告”按钮时,将调用存储过程并显示记录。

我的存储过程没问题。

问题是我的存储过程根本没有从 SSRS 报告中获取任何空值。

下拉报表参数截图:

报告中的下拉列表如下所示:

当我单击“查看报告”按钮时,存储过程必须像这样调用

SP_DisplayResults @Location=N',CM,SC'

但是由于空值不是从 ssrs 报告传递的,所以它的执行方式如下

SP_DisplayResults @Location=N'CM,SC'

【问题讨论】:

标签: sql-server reporting-services ssrs-2012 rdl


【解决方案1】:

我之前做过类似的事情,将可用值数据集中的空白值替换为一种占位符值,然后在存储过程中进行处理。

例如在您的 DistinctLocation 数据集查询中执行类似

SELECT DISTINCT CASE 
WHEN LocationType = '' THEN '(blank)' 
ELSE LocationType 
END as LocationType
FROM Location

然后在您的 SP_DisplayResults 存储过程中,您可以处理“(空白)”值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多