2

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

SELECT Type, Name
FROM Employees
WHERE Type = @Type

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

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

1 回答 1

2

在“参数”文件夹下的“报表数据”窗口的左侧,右键单击变量,点击“参数属性”,然后选中“允许多个值”并在下拉列表中选择正确的数据类型。我不确定为什么它决定在您运行报告时进行下拉,并且您必须在各自的行中输入每个值而不是用逗号分隔,但它似乎工作正常。然后只需将WHERE数据集中的子句从更改WHERE Type = @TypeWHERE Type IN (@Type)。我不知道括号是否必要。

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

SELECT DISTINCT Type
FROM Employees
ORDER BY Type

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

于 2012-07-24T13:28:30.130 回答