在SQLServer报表服务中使用报表参数

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

此外,你可能需要添加具有多个和/或默认值的参数。这篇文章讲述怎样在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实用例句

新闻标题:在SQLServer报表服务中使用报表参数
转载注明:http://www.shufengxianlan.com/qtweb/news44/447894.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联