我有一个包含4个多值参数的报告,其中的值根据从第一个参数中选择的值填充:
示例:@Param1 = Forest, @Param2 = Lake , @Param3 = Fish
根据所选的值,最后一个参数可能没有值。
示例:@Param1 = Desert, @Param2 = Sand, @Param3 = Null (Empty)
在这种情况下,在Reporting Services中显示@param3
只显示一个空参数框,用户开始怀疑是否缺少数据等等。
如何让空的@Param3在t-sql代码中获得某种禁用?
这是@ param3:
的查询SELECT DISTINCT Column3
FROM TABLE
WHERE Column1 = (@param1) AND
Column2 = (@param2)
ORDER BY Column3
主数据集查询具有以下谓词:
FROM TABLE
WHERE (Column1 = (@param1) or (@param1) is not null) AND
Column2 = (@param2) or (@param2) is not null)
AND (Column3 IN (@Param3) OR (@Param3) !='') AND
(Column4 IN (@param4)) OR (@param4 !='')
ORDER BY Month
答案 0 :(得分:1)
尝试在脚本中添加“虚拟”值,并且只在没有其他可用值时才返回它:
SELECT DISTINCT Column3
FROM TABLE
WHERE
Column1 = (@param1) AND
Column2 = (@param2)
UNION ALL
SELECT 'No Value Needed'
WHERE NOT EXISTS
(
SELECT 1
FROM TABLE
WHERE
Column1 = (@param1) AND
Column2 = (@param2)
)
ORDER BY Column3