我有一份SSRS报告,其中包含一些链接在一起的下拉列表。基本上,从下拉列表1中选择一个项目,然后填充下拉列表2,依此类推。我遇到的问题是在下拉列表3中,这是一个从我想要不允许选择的查询中填充的多值。
问题#1
虽然该报表参数设置为允许空格,但不允许我取消选择所有值。我收到了一个必要的错误。
问题#2
在我的存储过程中,我使用IN
语句过滤了有问题的参数,如果空白即将到来,这将无效,因为我希望空白跳过该过滤器。
问题#3
一旦选择了其他2,下拉列表#3可能没有任何值。
我觉得我使用多值错误导致所有3个问题。任何帮助表示赞赏。
答案 0 :(得分:2)
问题#1
您可以在填充DropDown的查询末尾添加这样的内容吗?
Union
Select Null as (value field name), 'None' as (label field name)
问题#2
你必须传入空值吗?你能做这样的事吗:
WHERE (@Param is null OR t.id in @Param)
甚至
WHERE (@Param ='' OR t.id in @Param)
如果你想把它保存为字符串?
问题#3
如果你可以为1和2做我的建议,应该注意。
答案 1 :(得分:1)
在微软论坛上提供 Naz at ANSA ...
我设法创造了很多 经过多次尝试,更简单的解决方案。 @Action参数数据集现在是:
SELECT ACTIONID,ACTIONDESCRIPTION, 来自MXMSERVACTION的DATAAREAID WHERE(DATAAREAID IN(@CompanyID)) UNION SELECT''AS ACTIONID, '(空白)'AS ACTIONDESCRIPTION, @CompanyID AS DATAAREAID ORDER BY ACTIONID
这也返回了“空白”值 作为所有可用的行动代码,在 运行时的参数下拉列表 报告。然后我引用了 主数据集中的参数数据集 照常:
WHERE(MXMSERVCALL.ACTIONID IN (@Action))
完成工作!