玩转SSRS第三篇---丰富你的报表

报表服务是微软SQLSERVER商业智能其中的一个组件,借助报表服务,用户可以制作各种各样的报表,无论是简单的还是复杂的报表,同时系统提供订阅功能方便用户对报表进行订阅。此外,开发人员也可以很容易地把一个SSRS报表集成到自己的winform或者webform程序中。

声明一下,本文使用的SQL Server版本是2012,操作系统Windows 8。

此篇将在上一篇的基础之上介绍如何为报表添加更多的功能,你会对格式,分组以及展开和发布有简单的了解。

继续上一篇的项目。首先为数值字段设置显示格式。右键单击Table控件中的数值区域,选择Text Box Properties…文本框属性。

玩转SSRS第三篇---丰富你的报表_第1张图片

在属性窗体中左侧选择Number,然后选择Currency。

玩转SSRS第三篇---丰富你的报表_第2张图片

设置完毕后,同样为另外两个字段设置格式。设置好后可以看到报表预览中报表中的数字已经发生了变化。

玩转SSRS第三篇---丰富你的报表_第3张图片

接下来为报表添加分组功能。在报表设计界面中,留意下面的Row Groups区域。

玩转SSRS第三篇---丰富你的报表_第4张图片

将Report Data中的数据集中的SHIPDATA拖拽到Row Groups区域,位于Details的上边,然后将ProductCategory拖拽到Row Groups中SHIPDATE和Details之间。

玩转SSRS第三篇---丰富你的报表_第5张图片

简单的分组建立完毕,然后可以通过预览功能看到报表分组之后的样子。

玩转SSRS第三篇---丰富你的报表_第6张图片

接下来为经过分组之后的报表添加汇总功能。切换回报表的设计模式,在Row Groups区域中,右键单击SHIPDATE,选择Add Total->After。这样讲在分组数据的最后面添加汇总数据的功能。

玩转SSRS第三篇---丰富你的报表_第7张图片

然后依次给ProductCategory也添加同样的汇总数据功能,最后报表设计界面中的Table控件看上去会如下图一样。

玩转SSRS第三篇---丰富你的报表_第8张图片

点击预览标签可以看到分组报表添加汇总功能之后的样子。

玩转SSRS第三篇---丰富你的报表_第9张图片

下面介绍如何给报表添加展开的功能。展开的依据就是根据分总的报表。

右键点击ProductCategory,然后点击Group Properties分组属性。

玩转SSRS第三篇---丰富你的报表_第10张图片

在分组属性界面中,点击左侧的Visibility,然后点击右侧的Hide让分组默认是关闭状态,最后勾选下面的Display can be toggled by this report item,使展开项是根据哪个报表元素展开的。这里选择SHIPDATE,因为这里报表的展开按钮就是要加在SHIPDATE的前面,然后来展开ProductCategory之后的列的信息。

玩转SSRS第三篇---丰富你的报表_第11张图片

点击OK后,可以在Preview里看到带有展开功能的报表。

玩转SSRS第三篇---丰富你的报表_第12张图片

点击SHIPDATE项前面的加号,可以看到位于这一项下面的详细信息。

玩转SSRS第三篇---丰富你的报表_第13张图片

最后,我们留意到报表的参数中,年份的选择是手工输入的,这样明显不够友好,而且错误的输入也会给报表产生错误。

我们通常希望这里显示的年是实际数据中所有的年份,所以我们这里为这个参数单独指定一个查询来建立数据集。

右键单击Datasets选择Add Dataset…新建一个数据集。

玩转SSRS第三篇---丰富你的报表_第14张图片

在数据集属性中,首先选择Use a dataset embedded in my report,然后在Data source数据源下拉列表中选择项目中建立的数据源。最后在Query type中选择Text然后在Query中输入如下的SQL语句:

SELECT DISTINCT LEFT(ShipDateKey,4) AS [DATEYEAR]

FROM [AdventureWorksDW2012].[dbo].[FactInternetSales]

ORDER BY LEFT(ShipDateKey,4) DESC

玩转SSRS第三篇---丰富你的报表_第15张图片

点击OK后,数据集建立完毕,下面将它绑定到参数@YEAR中。

展开Parameters,右键单击@YEAR参数,选择Parameter Properties。

玩转SSRS第三篇---丰富你的报表_第16张图片

在报表参数属性中,左侧选择Available Values,然后在右侧选择Get values from a query,在Dataset中选择刚才新建立的数据集,然后在Value field和Label field中分别指定数据源列的DATEYEAR作为值列和标签列。

玩转SSRS第三篇---丰富你的报表_第17张图片

数据集绑定完毕,点击OK后点击Preview浏览报表,可以看到YEAR参数已经变成下拉可以选择的状态了。

玩转SSRS第三篇---丰富你的报表_第18张图片

以上,一个简单的报表就制作完毕了,它包含了报表最基本的功能,还有分组和折叠以及参数等功能。

报表制作完毕之后需要发布到报表服务器,在发布之前,首先要确认报表服务器地址。在报表项目的Solution Explorer中,右键单击项目名称,选择Properties。

玩转SSRS第三篇---丰富你的报表_第19张图片

在TargetServerURL中需要输入报表服务的路径,它的通常格式就是http://[你的机器名]:80/reportserver。

玩转SSRS第三篇---丰富你的报表_第20张图片

通过上面的设置确定报表发布到哪里之后,再次右键单击项目名称,点击Deploy。

玩转SSRS第三篇---丰富你的报表_第21张图片

然后系统启动部署流程,在Output界面可以看到部署的结果。

(还记得第一篇中我们为自己的管理员账户配置了相应的权限吗?)

玩转SSRS第三篇---丰富你的报表_第22张图片

部署完成之后,打开reportserver管理界面,可以看到项目文件已经被部署到网站的根目录下,点击Report Project1文件夹。

玩转SSRS第三篇---丰富你的报表_第23张图片

可以看到刚才编辑的报表,点击它。

玩转SSRS第三篇---丰富你的报表_第24张图片

可以看到在浏览器下的报表效果。

玩转SSRS第三篇---丰富你的报表_第25张图片

以上如何建立一个报表就简单介绍到这里,相信您已经对报表服务已经有了大体的了解。

需要说明一下的是,根据笔者的工作经验,分组的以及SSRS报表开发的方法,2008,2008 R2以及2012基本一致,2000和2005的版本会有很大的不同。参考此篇的时候请留意一下自己使用的版本。

下一篇将介绍如何在应用程序中使用报表功能。

你可能感兴趣的:(玩转SSRS第三篇---丰富你的报表)