当我的参数有多个值时,我收到以下错误:
isnull函数需要2个参数。
我使用以下查询:
(ISNULL (@Country, N'1') = N'1'
OR Contract.Country IN (@Country))
AND (ISNULL(@Season, N'1') = N'1'
OR Contract.Season IN (@Season))
如果参数只有一个值,则此方法有效。
答案 0 :(得分:0)
尝试在以下内容中使用CASE
:
CASE WHEN @Country IS NULL THEN N'1' ELSE @Country END = N'1'
OR Contract.Country IN (@Country))
或尝试使用COALESCE
(COALESCE(@Country, N'1') = N'1'
OR Contract.Country IN (@Country))
AND (COALESCE(@Season, N'1') = N'1'
OR Contract.Season IN (@Season))
答案 1 :(得分:0)
处理数据集的SELECT部分中的ISNULL逻辑,并在报告参数属性中,确认两个参数都选中了“允许多个值”和“允许空值”复选框。
答案 2 :(得分:0)
这实际上比我想象的要容易,我使用了以下查询:
(Contract.Season IN(@Season))并在ssrs中允许参数为空值。
感谢所有回复。