在页报表或RDL报表中,可以通过选择“多值”选项来创建多值参数。在多值参数中,您可以从列表中选择几个选项,或者只需选择“全选”即可选择所有选项。
如果有大量选项可供选择,则选择“全选”选项会使得创建 SQL 查询太长,无法运行 SQL
命令。在这种情况下,您可以在“全选”选项的值中为多值参数指定一个值。
以下过程将引导您逐步了解如何创建多值参数并指定用于从列表中选择所有选项的值。这些步骤假定您已将页面报表/RDL报表模板添加到报表中,并且具有数据连接。有关详细信息,请参阅快速入门和打开方式 。
1.在报表资源管理器中,右键单击“数据源accNWind(默认情况下会根据创建报表时自动创建)”节点,然后选择“添加数据集”。
2.在出现的“数据集”对话框中,选择“查询”页。
3.在查询文本框中输入如下所示的 SQL 查询 :select distinct productName from Products
4.点击 OK 关闭对话框。您可以在报表资源管理器中看到数据集 DataSet1 和字段 productName。
1.在报表资源管理器中,右键单击“参数”节点,然后选择“添加参数”。
2.在出现的“报表 - 参数”对话框中,添加参数的名称
ProductName1。
3.确保数据类型与字段的数据类型匹配(产品名称的字符串)。
4.在“提示用户输入值显示的文本”字段中输入一些文本以提示用户输入值。
5.选中“多值”旁边的复选框,以允许用户从列表中选择多个项目。
6.在“当开启‘全选’时显示的文字”选项的值中,输入“1”。
1.在报表资源管理器中,右键单击“数据源”节点,然后选择“添加数据集”。
2.在出现的“数据集”对话框中的“参数”页面上,单击参数列表上方的添加 (+)
图标,然后将以下内容添加到数据集,以提供我们在下面的步骤 3 中添加到查询的参数的值。
名称:ReportParameter1;值:=Parameters!ReportParameter1.Value
名称:Parameter1;值:=Parameters!ReportParameter1.Value
3.在“查询”页上,在“查询”文本框中输入如下所示的 SQL 查询:
SELECT * FROM products where ProductName in (?) OR '1' in (?)
在运行时,此查询与所选产品名称匹配,并相应地提取数据。如果用户选择“全选”(我们为其指定了值“1”),则在评估“OR”并获取所有产品的数据后进行查询。
4.单击“验证数据集”图标以验证查询并填充“字段”列表。
5.点击 OK
关闭对话框。您可以在报表资源管理器中看到数据集Products和字段。
将控件(如表)放在设计图面上,并向其添加字段。在预览选项卡中查看报告,并在侧边栏中查看参数,顶部有全选选项。