SSRS参数值在同一字段中的最大值和最小值

时间:2014-08-01 16:43:31

标签: reporting-services parameters

我正在尝试创建一个允许用户选择三个值中的一个或多个的参数。 0-99, 99-100& 200 +

这只能使用一个参数吗?如果是这样,SQL语法需要过滤数据集以及参数值中需要什么语法?

我知道我可以将BETWEEN函数与max和min的两个参数一起使用,但是希望将它放在一个

我想我可以为每个参数选项分配值,然后检查这些值的总和,例如0-99的值为1,99-100的值为5,200 +的值为10。使用CASE或IF语句检查这些值并运行相应的SQL语句来选择所有或任何数字组合。但似乎SSRS查询设计者不喜欢IF或CASE使用@Parameter或参数来查看参数的结果!Name.Value

1 个答案:

答案 0 :(得分:0)

你可以在你的ssrs中使用这个参数

@range

Display | Value
0-99 | 1
100 - 199 | 2
200+ | 3

在你的SQL中有类似的东西

SELECT *
FROM dbo.table a
WHERE ((@range = 1 AND a.value BETWEEN 0 AND 99)
OR (@range = 2 AND a.value BETWEEN 100 AND 199)
OR (@range = 3 AND a.value >= 200))

要完成3的组合,您需要使用三个参数

@range1
@range2
@range3

然后在SQL

中进行以下操作
WHERE ((@range1 = 1 AND a.value BETWEEN 0 AND 99)
OR (@range2 = 1 AND a.value BETWEEN 100 AND 199)
OR (@range3 = 1 AND a.value >= 200))