当前位置:首页 > 系统运维 > 正文内容

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

a8116255311年前 (2015-10-04)系统运维11

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

此外,你可能需要添加具有多个和/或默认值的参数。该文讲述怎样在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’选项。

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

 

上面对话框中的选项有:

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的截屏。

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

此外,你可能需要添加具有多个和/或默认值的参数。该文讲述怎样在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’选项。

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

 

上面对话框中的选项有:

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的截屏。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/22481.html

分享给朋友:

“在SQL Server报表服务中使用报表参数(1)” 的相关文章

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...

如何删除自带的不常用应用为windows 7减负

如何删除自带的不常用应用为windows 7减负

对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

windows 7系统件夹和文件都不显示名字如何解决

windows 7系统件夹和文件都不显示名字如何解决

假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...

windows 7玩战争策略游戏星际争霸花屏问题解决方法

windows 7玩战争策略游戏星际争霸花屏问题解决方法

星际争霸是一款非常经典的战争策略游戏,虽然已有十多年的历史,但依然有一批忠实的游戏玩家坚守着星际战争,而随着Windows系统的不断更新,Windows 7下玩星际争霸已经不能像WinXP那样顺利了,很多Windows 7玩家在玩星际争霸时候都会出现花屏问题,那么我们该如何应对呢 Windo...

3个实用的windows 7 DOS操作系统技巧

3个实用的windows 7 DOS操作系统技巧

       1. 快速复制粘贴文字   有时我们需要复制命令提示符窗口中的某些文字内容,但是之前的Windows系统中常规的复制粘贴方法是无效的,而在Windows 7中我们可以通过简单方法来复制文字:首先在任意位置右击鼠标并选择“标记...