对于Visual Studio 2008中的SSRS,如何使变量接受多个值以及单个值?

时间:2012-07-24 13:19:56

标签: sql visual-studio-2008 variables reporting-services

我正在使用Visual Studio 2008进行报告,从数据库中的表中提取信息。假设我只想显示员工Type(由int表示,例如1-10)和他们的Name。然后我的数据集就是这个查询:

SELECT Type, Name
FROM Employees
WHERE Type = @Type

这是SSRS,所以我不需要声明或设置变量(如果我错了,请纠正我)。当我运行报告时,它会为我提供为int键入Type的选项,它会创建相应的报告。我的问题是如何设置它以便我可以为1,2,3键入Type以便我获得这些类型员工的报告?因此,让int变量能够接受ints或仅int的列表。本质上,该示例中的“结果查询”如下所示:

SELECT Type, Name
FROM Employees
WHERE Type = 1 AND Type = 2 AND Type = 3

1 个答案:

答案 0 :(得分:2)

在Parameters文件夹下的Report Data窗口的左侧,右键单击变量,点击Parameter Properties,然后选中'Allow Multiple Values'并在下拉列表中选择正确的数据类型。我不确定为什么它在你运行报告时决定下拉,你必须在各自的行中输入值而不是用逗号分隔,但它似乎工作正常。然后,只需将数据集中的WHERE子句从WHERE Type = @Type更改为WHERE Type IN (@Type)即可。我不知道括号是否必要。

此外,如果您创建一个单独的数据集,该数据集将显示某些值,您可以显示这些数据集而不必输入它们。例如,创建包含此查询的数据集

SELECT DISTINCT Type
FROM Employees
ORDER BY Type

这将创建一个可以检查/取消选中的类型的不同值列表。你也可以把它变得更加复杂。