【发布时间】:2016-10-11 22:49:27
【问题描述】:
我有一份 SSRS 报告,用户希望能够在多个网站上进行搜索,而应该只是该报告通常接受的一个网站。
如果他们没有在参数文本框中输入站点,则报告会搜索所有站点。
我已经在 where 子句中的 SQL 查询中成功处理了这个问题,如下所示
在哪里 ( ( LEN(@ProjectId) > 0 AND p.ProjectId = @ProjectId ) OR ( LEN(@ProjectId) = 0))
如果没有输入值,这适用于仅搜索一个站点或所有站点。
他们希望能够输入多个站点并用逗号分隔它们。
我在我的 SSRS 报告中处理了这个问题,将我的数据集中的参数定义为
=JOIN(Parameters!ProjectId.Value, ",")
但是,这不适用于预期的空白值或空值。
我已经做了一些花哨的表达来尝试解决这个问题
=IIF(ISNothing(Parameters!ProjectId.Value), "", JOIN(Parameters!ProjectId.Value))
将传递给 SQL 查询的参数设置为空白,如果没有遇到值则不进行连接。
基本上我想知道是否有一种方法可以让多组参数用逗号分隔,但如果未选择值则作为空白传递。
目前我尝试将参数设置为允许多值但也不起作用,我收到如下所示的错误消息
【问题讨论】:
-
您是否有理由不使用报告中参数选项卡的复选框功能?在参数选项卡中,用户可以选择多个位置和空白值。
标签: sql sql-server reporting-services