在SQL Server报表服务中使用报表参数

数据库 SQL Server 数据库运维
本文向您介绍SQL Server报表服务,结合具体的示例讲解如何在SQL Server报表服务中使用报表参数。

当你在使用报表时,你需要添加参数来缩小报表范围进行更好的分析。你将经常看到你需要不止一个的参数,第二个参数可能取决于第一个参数,通常要求你基于第一个参数更新第二个参数。

此外,你可能需要添加具有多个和/或默认值的参数。这篇文章讲述怎样在SQL Server 2005报表服务(SSRS)中创建参数。

前提要求

要理解本篇文章的内容,你应该对在SSRS中创建报表有所了解,因为这篇文章会详细地回顾怎样在SSRS中创建报表。然而,我将在讲述SSRS报表的创建时尽可能多地介绍。还有,你将需要知道怎么编写连接两个或更多表的基本T-SQL 查询。

为了达到有效地利用资源,你需要将SQL Server 2005和SQL Server商业智能开发套件安装在一起。因为我将使用AdventureWorks 示例数据库中的数据,如果你在你的SQL Server 版本中安装了AdventureWorks 数据库,那将会简单得多。

示例

因为通过示例对读者进行解释总是很有帮助的,所以让我们假设我们想要根据雇员的国家、州/省和城市列出雇员。用户应该有一个选择国家的选项。根据选出的国家,我们要列出所选国家的州/省。在选择了一个州后,我们应该列出相关的城市,并且用户应该具有能从列表中选择一个或多个城市的选项。根据选择的一个或多个城市,最后用户应该就可以得到一个符合标准的雇员列表。

实现

首先,你必须从SQL Server商业智能中创建一个报表服务项目,然后添加一个报表到这个项目中。接下来是创建一个指向AdventureWorks数据库的共享数据源。我们现在需要为国家添加一个数据集。你可以通过在数据集列表框中选择‘选项’从数据库标签添加这个数据集。然后如下图所示的配置dsCountry数据集。

报表参数屏幕 

下一个工作是将这个dsCountry 分配给一个报表参数。从报表菜单中选择‘Report Parameters’选项。

#p#

下面是你应该看到的一个截屏。

报表参数屏幕 

上面对话框中的选项有:

Name – 参数的名称。当你选择了一个值后,这个值会存储在这个参数中。因为这是一个变量名称,所以你不能在这个字段中包含有特殊字符(*,!或空格等等)。

Data Type – 参数的数据类型。这个选项的选择包括:Boolean、Datetime、Integer、Float 和String。在这个例子中,我们将选择‘String’用于国家参数。

Prompt – 提示就是你在报表中将看到的。因为它是一个标签,所以你可以在提示中使用任何字符。

下面的属性如它们的名称所显示的一样简单。Hidden和Internal 的不同之处是Hidden变量可以改变而internal 变量则不能。

下一步是给参数赋值。

当参数具有固定值如是/否、男/女等时,应该使用非询问选项。询问选项是从一个数据集给参数赋值。在这个示例中,数据集是dscountry,我们需要添加两个值:值字段和标签字段。标签字段是用户将会看到的,而值字段是将要存储在参数中的。在这个示例中,如果用户选择了United Status,那么在国家参数中将存储的值是US。

下一步是赋予缺省值。一个缺省值使得用户可以更容易地使用报表,因为缺省值是用户最可能选择的值。例如,在这个报表中用户选择United States,所以将United States 作为缺省值使得用户可以更容易地填写表格。

使用另一个参数的参数

下一个工作是创建州/省参数。如同我前面所说的,州/省参数取决于在第一个询问中用户所选择的国家,所以在我们的州/省数据集中,我们应该编写询问来达到这个标准。

报表参数屏幕 

你从上面的图片中可以看到包含了‘@Country’用于询问。这个@Country 变量将获得用户选择的国家参数的值。

接下来是创建一个叫做Province的报表参数,并将它附加到dsProvience数据集中。这个的做法和Country 参数的做法一样。Province 报表参数屏幕如下图所示。

报表参数屏幕 

因为我们已经做了接近一半的报表工作,所以我们该做个简单测试了,点击“preview”标签。你可以看到当你改变国家时省份列表也跟着改变了。例如,当国家是Australia和Germany时会看到下面两个图片。

报表参数屏幕 

报表参数屏幕

多值参数

在配置了国家和省参数之后,现在我们要配置城市参数。城市数据没有主表。我们将使用Person.[Address]表来获得一个城市列表作为工作区。因为城市取决于所选的省,所以我们需要使用@Province 参数来获得城市列表。下面是城市数据集dsCity的截屏。

报表参数屏幕

【编辑推荐】

  1. SQL Server 2008中的创建格式化日期(1)
  2. 在T-SQL中使用临时表的注意事项
  3. SQL Server数据库管理常用的SQL和T-SQL语句(1)
  4. SQL Server 2005中的T-SQL
  5. T-SQL实用例句
责任编辑:冰荷 来源: it168
相关推荐

2009-04-16 17:11:39

管理报表配置报表SQL Server

2010-07-19 11:35:05

2009-04-16 17:03:12

报表开发工具报表制作SQL Server

2010-06-17 12:35:49

SQL Server数

2009-04-16 17:24:56

报表处理报表内嵌SQL Server

2010-07-20 09:15:03

SQL Server

2009-05-21 10:08:49

SQL报表JSPHibernate

2010-07-07 14:24:42

SQL Server

2011-08-17 18:12:48

2011-04-02 11:28:10

SQL Server数报表数据库快照

2009-09-23 17:16:59

报表参数

2009-07-02 13:12:33

JSP打印报表

2011-09-01 13:09:58

SQL Server DataTable作为

2020-12-17 11:13:34

积木报表帆软报表开源1.0-beta

2009-02-04 17:43:53

ibmdwSAML

2009-07-06 16:17:36

生成PDF报表JSP页面

2012-07-09 10:13:06

ibmdw

2016-12-27 18:10:37

华为敏捷网络

2009-03-16 14:01:24

正则表达式函数SQL

2017-06-12 13:18:51

数据报表计算
点赞
收藏

51CTO技术栈公众号