我正在使用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
答案 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
这将创建一个可以检查/取消选中的类型的不同值列表。你也可以把它变得更加复杂。