我正在构建一份SSRS报告,每月运行大约60K行数据;这些行有两个类别,只能填充大约1K行,但对最终用户来说非常重要。
我的目标是为用户提供可选过滤器;如果为类别选择了复选框/布尔值,则仅显示该类别为非NULL的行,否则显示所有行。
我认为我的代码会是这样的:
Select *
From Table
Where IF (Parameter1='True', Category1 IS NOT NULL, "Show All Rows")
显然代码不正确,但我希望它能让我知道我在寻找什么。
感谢您的帮助!
答案 0 :(得分:0)
您可以在WHERE
子句中使用布尔逻辑,以便在未设置参数值时返回true。
SELECT
*
FROM
Table
WHERE
((@Category1 IS NULL)OR(Table.Category=@Category1))